d5636ae1de
context.rs: proper LRC image population Removed context restore inhibit — GPU now saves/restores state on preempt Added PDP register initialization in LRC image (4 PDP entries) Added FAULT_AND_STREAM_CTL, BB_STATE initialization set_pdp_registers() for per-context PPGTT configuration ring.rs: MI command emission helpers emit_bb_start/emit_bb_end: batch buffer chaining emit_load_register_imm: LRI for workaround application emit_store_data_imm: store-to-memory for fence signaling emit_arb_check: preemption point insertion emit_semaphore_wait: inter-engine synchronization emit_user_interrupt: explicit interrupt generation display.rs: DDI pre-enable/post-disable sequences ddi_pre_enable: DP link retrain + DDI_BUF_CTL enable with pipe routing ddi_post_disable: DDI_BUF_CTL, PIPECONF, DSPCNTR disable + pipe update Pipe scaler PS_CTRL/PS_WIN_POS/PS_WIN_SIZE programming in set_mode regs.rs + regs_gen9/gen12/xe2: scaler register trait methods ps_ctrl, ps_win_pos, ps_win_size at 0x68180/0x68170/0x68174 per pipe
113 lines
4.0 KiB
TOML
113 lines
4.0 KiB
TOML
[source]
|
|
tar = "https://ftp.gnu.org/gnu/bison/bison-3.8.2.tar.xz"
|
|
blake3 = "9dd90be8df4d0474b941e2ca14ac76d11b7ccb46edb26344b60d866178bbcc98"
|
|
|
|
[build]
|
|
template = "custom"
|
|
script = """
|
|
DYNAMIC_INIT
|
|
export ac_cv_func___fseterr=yes
|
|
|
|
# Gnulib cross-compilation: relibc has standard POSIX headers and types
|
|
# but gnulib's configure can't run test programs during cross-compilation.
|
|
# Without these, gnulib generates broken #define fallbacks and replacement headers.
|
|
|
|
# Standard headers (gnulib can't detect these when cross-compiling)
|
|
export ac_cv_header_stdio_h=yes
|
|
export ac_cv_header_stdlib_h=yes
|
|
export ac_cv_header_string_h=yes
|
|
export ac_cv_header_strings_h=yes
|
|
export ac_cv_header_inttypes_h=yes
|
|
export ac_cv_header_stdint_h=yes
|
|
export ac_cv_header_unistd_h=yes
|
|
export ac_cv_header_sys_types_h=yes
|
|
export ac_cv_header_sys_stat_h=yes
|
|
export ac_cv_header_time_h=yes
|
|
export ac_cv_header_sys_time_h=yes
|
|
export ac_cv_header_sys_select_h=yes
|
|
export ac_cv_header_wchar_h=yes
|
|
export ac_cv_header_wctype_h=yes
|
|
export ac_cv_header_signal_h=yes
|
|
export ac_cv_header_dirent_h=yes
|
|
export ac_cv_header_fcntl_h=yes
|
|
export ac_cv_header_locale_h=yes
|
|
export ac_cv_header_errno_h=yes
|
|
export ac_cv_header_ctype_h=yes
|
|
export ac_cv_header_limits_h=yes
|
|
export ac_cv_header_stdarg_h=yes
|
|
export ac_cv_header_stddef_h=yes
|
|
export ac_cv_header_math_h=yes
|
|
# relibc spawn.h provides structs incompatible with gnulib (glibc-specific _used, _allocated, _flags fields).
|
|
# Tell configure there's NO system spawn.h so gnulib generates its own complete replacement.
|
|
export ac_cv_header_spawn_h=no
|
|
export gl_cv_header_spawn_h=no
|
|
export gl_cv_header_inttypes_h=yes
|
|
export gl_cv_header_stdint_h=yes
|
|
export gl_cv_header_working_stdint_h=yes
|
|
export gl_cv_header_inttypes_h_with_uintmax=yes
|
|
export ac_cv_have_inttypes_h_with_uintmax=yes
|
|
|
|
# Standard types (gnulib generates broken fallbacks without these)
|
|
export ac_cv_type_intmax_t=yes
|
|
export ac_cv_type_uintmax_t=yes
|
|
export ac_cv_type_gid_t=yes
|
|
export ac_cv_type_uid_t=yes
|
|
export ac_cv_type_pid_t=yes
|
|
export ac_cv_type_mode_t=yes
|
|
export ac_cv_type_off_t=yes
|
|
export ac_cv_type_size_t=yes
|
|
export ac_cv_type_ssize_t=yes
|
|
export ac_cv_type_ptrdiff_t=yes
|
|
export ac_cv_type_nlink_t=yes
|
|
export ac_cv_type_mbstate_t=yes
|
|
export ac_cv_type_time_t=yes
|
|
export ac_cv_sizeof_ptrdiff_t=8
|
|
export ac_cv_sizeof_intmax_t=8
|
|
export ac_cv_sizeof_size_t=8
|
|
export ac_cv_sizeof_void_p=8
|
|
export gl_cv_type_intmax_t=yes
|
|
export gl_cv_type_ptrdiff_t_signed=yes
|
|
export gl_cv_bit_size_of_ptrdiff_t=0
|
|
export gl_cv_header_inttypes_h_with_uintmax=yes
|
|
export ac_cv_have_inttypes_h_with_uintmax=yes
|
|
|
|
# Spawn functions (gnulib replacement - relibc's spawn struct lacks glibc _used field)
|
|
export gl_cv_func_spawn_posix_spawn=no
|
|
export gl_cv_func_spawn_posix_spawnp=no
|
|
export ac_cv_func_posix_spawn=no
|
|
export ac_cv_func_posix_spawnp=no
|
|
|
|
# Other functions
|
|
export ac_cv_func_getpagesize=yes
|
|
export ac_cv_func_memcmp_working=yes
|
|
export ac_cv_func_mmap_fixed_mapped=yes
|
|
|
|
COOKBOOK_CONFIGURE_FLAGS+=(
|
|
--disable-nls
|
|
)
|
|
|
|
# Cross-compilation fix: run configure manually, then patch the
|
|
# generated Makefile to use host bison instead of the cross-compiled
|
|
# wrapper. The generated Makefile hardcodes
|
|
# BISON = $(top_builddir)/tests/bison
|
|
# which wraps the x86_64-unknown-redox binary — unrunnable on the host.
|
|
"${COOKBOOK_CONFIGURE}" "${COOKBOOK_CONFIGURE_FLAGS[@]}"
|
|
sed -i 's|^BISON = .*|BISON = /usr/bin/bison|' "${COOKBOOK_BUILD}/Makefile"
|
|
|
|
# Fix gnulib cross-compilation misdetections in config.h
|
|
"${COOKBOOK_ROOT}/local/scripts/gnulib-cross-fix.sh" "${COOKBOOK_BUILD}/lib/config.h"
|
|
|
|
# Run make to populate lib/ with object files, inject the stub, link.
|
|
"${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" || true
|
|
${CC} -c -I"${COOKBOOK_BUILD}/lib" -I"${COOKBOOK_SYSROOT}/include" \
|
|
"${COOKBOOK_ROOT}/local/scripts/gnulib-stubs/fseterr-redox.c" \
|
|
-o "${COOKBOOK_BUILD}/lib/fseterr-redox.o"
|
|
ar rcs "${COOKBOOK_BUILD}/lib/libbison.a" "${COOKBOOK_BUILD}/lib/fseterr-redox.o"
|
|
"${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}"
|
|
"${COOKBOOK_MAKE}" install DESTDIR="${COOKBOOK_STAGE}"
|
|
"""
|
|
|
|
[package]
|
|
description = "GNU parser generator (yacc-compatible)"
|
|
dependencies = ["m4"]
|