From 6e7a315eb67cb6c113cf37e1d66c4f11a51a2b3e Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 18:29:51 +0200 Subject: Adding upstream version 2.06. Signed-off-by: Daniel Baumann --- conf/Makefile.common | 140 +++++++++++++++++++++++++++++++++++++++ conf/Makefile.extra-dist | 160 +++++++++++++++++++++++++++++++++++++++++++++ conf/i386-cygwin-img-ld.sc | 53 +++++++++++++++ 3 files changed, 353 insertions(+) create mode 100644 conf/Makefile.common create mode 100644 conf/Makefile.extra-dist create mode 100644 conf/i386-cygwin-img-ld.sc (limited to 'conf') diff --git a/conf/Makefile.common b/conf/Makefile.common new file mode 100644 index 0000000..2a1a886 --- /dev/null +++ b/conf/Makefile.common @@ -0,0 +1,140 @@ +# -*- makefile -*- + +CFLAGS_PLATFORM= + +export LC_COLLATE := C +unexport LC_ALL + +# Platform specific options +if COND_sparc64_ieee1275 + LDFLAGS_PLATFORM = -Wl,-melf64_sparc +endif +if COND_arm +if !COND_emu + LDFLAGS_PLATFORM = -Wl,--wrap=__clear_cache +endif +endif +if COND_arm64 + CFLAGS_PLATFORM += -mcmodel=large +endif +if COND_powerpc_ieee1275 + CFLAGS_PLATFORM += -mcpu=powerpc +endif + +# Other options + +CPPFLAGS_DEFAULT = -DGRUB_FILE=\"$(subst $(srcdir)/,,$<)\" +CPPFLAGS_DEFAULT += -I$(builddir) +CPPFLAGS_DEFAULT += -I$(srcdir) +CPPFLAGS_DEFAULT += -I$(top_builddir) +CPPFLAGS_DEFAULT += -I$(top_srcdir) +CPPFLAGS_DEFAULT += -I$(top_srcdir)/include +CPPFLAGS_DEFAULT += -I$(top_builddir)/include +CPPFLAGS_DEFAULT += -I$(top_srcdir)/grub-core/lib/libgcrypt-grub/src/ +CCASFLAGS_DEFAULT = $(CPPFLAGS_DEFAULT) -DASM_FILE=1 +BUILD_CPPFLAGS += $(CPPFLAGS_DEFAULT) + +CFLAGS_KERNEL = $(CFLAGS_PLATFORM) -ffreestanding +LDFLAGS_KERNEL = $(LDFLAGS_PLATFORM) -nostdlib $(TARGET_LDFLAGS_OLDMAGIC) +CPPFLAGS_KERNEL = $(CPPFLAGS_CPU) $(CPPFLAGS_PLATFORM) -DGRUB_KERNEL=1 +CCASFLAGS_KERNEL = $(CCASFLAGS_CPU) $(CCASFLAGS_PLATFORM) +STRIPFLAGS_KERNEL = -R .rel.dyn -R .reginfo -R .note -R .comment -R .drectve -R .note.gnu.gold-version -R .MIPS.abiflags -R .ARM.exidx + +CFLAGS_MODULE = $(CFLAGS_PLATFORM) -ffreestanding +LDFLAGS_MODULE = $(LDFLAGS_PLATFORM) -nostdlib $(TARGET_LDFLAGS_OLDMAGIC) -Wl,-r,-d +CPPFLAGS_MODULE = $(CPPFLAGS_CPU) $(CPPFLAGS_PLATFORM) +CCASFLAGS_MODULE = $(CCASFLAGS_CPU) $(CCASFLAGS_PLATFORM) + +CFLAGS_IMAGE = $(CFLAGS_PLATFORM) -fno-builtin +LDFLAGS_IMAGE = $(LDFLAGS_PLATFORM) -nostdlib $(TARGET_LDFLAGS_OLDMAGIC) -Wl,-S +CPPFLAGS_IMAGE = $(CPPFLAGS_CPU) $(CPPFLAGS_PLATFORM) +CCASFLAGS_IMAGE = $(CCASFLAGS_CPU) $(CCASFLAGS_PLATFORM) + +CFLAGS_PROGRAM = +LDFLAGS_PROGRAM = +CPPFLAGS_PROGRAM = +CCASFLAGS_PROGRAM = + +CFLAGS_LIBRARY = +CPPFLAGS_LIBRARY = +CCASFLAGS_LIBRARY = + +# Other variables + +grubconfdir = $(sysconfdir)/grub.d +platformdir = $(pkglibdir)/$(target_cpu)-$(platform) +starfielddir = $(pkgdatadir)/themes/starfield + +CFLAGS_GNULIB = -Wno-undef -Wno-sign-compare -Wno-unused -Wno-unused-parameter -Wno-redundant-decls -Wno-unreachable-code -Wno-conversion +CPPFLAGS_GNULIB = -I$(top_builddir)/grub-core/lib/gnulib -I$(top_srcdir)/grub-core/lib/gnulib + +CFLAGS_POSIX = -fno-builtin +CPPFLAGS_POSIX = -I$(top_srcdir)/grub-core/lib/posix_wrap + +CFLAGS_GCRY = -Wno-error -Wno-missing-field-initializers -Wno-redundant-decls -Wno-undef $(CFLAGS_POSIX) +CPPFLAGS_GCRY = -I$(top_srcdir)/grub-core/lib/libgcrypt_wrap $(CPPFLAGS_POSIX) -D_GCRYPT_IN_LIBGCRYPT=1 -I$(top_srcdir)/include/grub/gcrypt + +CPPFLAGS_EFIEMU = -I$(top_srcdir)/grub-core/efiemu/runtime + +# List file macros for recognizing /interesting/ modules +CPPFLAGS_FS_LIST = -Dgrub_fs_register=FS_LIST_MARKER +CPPFLAGS_VIDEO_LIST= -Dgrub_video_register=VIDEO_LIST_MARKER +CPPFLAGS_PARTMAP_LIST = -Dgrub_partition_map_register=PARTMAP_LIST_MARKER +CPPFLAGS_PARTTOOL_LIST = -Dgrub_parttool_register=PARTTOOL_LIST_MARKER +CPPFLAGS_TERMINAL_LIST = '-Dgrub_term_register_input(...)=INPUT_TERMINAL_LIST_MARKER(__VA_ARGS__)' +CPPFLAGS_TERMINAL_LIST += '-Dgrub_term_register_output(...)=OUTPUT_TERMINAL_LIST_MARKER(__VA_ARGS__)' +CPPFLAGS_COMMAND_LIST = '-Dgrub_register_command(...)=COMMAND_LIST_MARKER(__VA_ARGS__)' +CPPFLAGS_COMMAND_LIST += '-Dgrub_register_command_lockdown(...)=COMMAND_LOCKDOWN_LIST_MARKER(__VA_ARGS__)' +CPPFLAGS_COMMAND_LIST += '-Dgrub_register_extcmd(...)=EXTCOMMAND_LIST_MARKER(__VA_ARGS__)' +CPPFLAGS_COMMAND_LIST += '-Dgrub_register_extcmd_lockdown(...)=EXTCOMMAND_LOCKDOWN_LIST_MARKER(__VA_ARGS__)' +CPPFLAGS_COMMAND_LIST += '-Dgrub_register_command_p1(...)=P1COMMAND_LIST_MARKER(__VA_ARGS__)' +CPPFLAGS_FDT_LIST := '-Dgrub_fdtbus_register(...)=FDT_DRIVER_LIST_MARKER(__VA_ARGS__)' +CPPFLAGS_MARKER = $(CPPFLAGS_FS_LIST) $(CPPFLAGS_VIDEO_LIST) \ + $(CPPFLAGS_PARTTOOL_LIST) $(CPPFLAGS_PARTMAP_LIST) \ + $(CPPFLAGS_TERMINAL_LIST) $(CPPFLAGS_COMMAND_LIST) \ + $(CPPFLAGS_FDT_LIST) + +# Define these variables to calm down automake + +IMG_FILES = +MOD_FILES = +MODULE_FILES = +MARKER_FILES = +KERNEL_HEADER_FILES = + +man_MANS = +noinst_DATA = +pkgdata_DATA = +bin_SCRIPTS = +sbin_SCRIPTS = +bin_PROGRAMS = +platform_DATA = +sbin_PROGRAMS = +check_SCRIPTS = +dist_grubconf_DATA = +check_PROGRAMS = +noinst_SCRIPTS = +noinst_PROGRAMS = +grubconf_SCRIPTS = +noinst_LIBRARIES = +dist_noinst_DATA = +platform_SCRIPTS = +platform_PROGRAMS = + +TESTS = +EXTRA_DIST = +CLEANFILES = +BUILT_SOURCES = + +# Rules for Automake input + +.PRECIOUS: $(top_srcdir)/Makefile.util.am +$(top_srcdir)/Makefile.util.am: $(top_srcdir)/gentpl.py $(top_srcdir)/Makefile.util.def $(top_srcdir)/Makefile.utilgcry.def + $(PYTHON) $^ > $@.new || (rm -f $@.new; exit 1) + mv $@.new $@ + +.PRECIOUS: $(top_srcdir)/grub-core/Makefile.core.am +$(top_srcdir)/grub-core/Makefile.core.am: $(top_srcdir)/gentpl.py $(top_srcdir)/grub-core/Makefile.core.def $(top_srcdir)/grub-core/Makefile.gcry.def + if [ "x$$GRUB_CONTRIB" != x ]; then echo "You need to run ./bootstrap manually." >&2; exit 1; fi + $(PYTHON) $^ > $@.new || (rm -f $@.new; exit 1) + mv $@.new $@ diff --git a/conf/Makefile.extra-dist b/conf/Makefile.extra-dist new file mode 100644 index 0000000..8f1485d --- /dev/null +++ b/conf/Makefile.extra-dist @@ -0,0 +1,160 @@ +EXTRA_DIST += autogen.sh +EXTRA_DIST += geninit.sh + +EXTRA_DIST += gentpl.py +EXTRA_DIST += Makefile.util.def +EXTRA_DIST += Makefile.utilgcry.def + +EXTRA_DIST += asm-tests +EXTRA_DIST += unicode + +EXTRA_DIST += util/import_gcry.py +EXTRA_DIST += util/import_unicode.py + +EXTRA_DIST += docs/man +EXTRA_DIST += docs/autoiso.cfg +EXTRA_DIST += docs/grub.cfg +EXTRA_DIST += docs/osdetect.cfg + +EXTRA_DIST += conf/i386-cygwin-img-ld.sc + +EXTRA_DIST += grub-core/Makefile.core.def +EXTRA_DIST += grub-core/Makefile.gcry.def + +EXTRA_DIST += grub-core/genmoddep.awk +EXTRA_DIST += grub-core/genmod.sh.in +EXTRA_DIST += grub-core/gensyminfo.sh.in +EXTRA_DIST += grub-core/gensymlist.sh +EXTRA_DIST += grub-core/genemuinit.sh +EXTRA_DIST += grub-core/genemuinitheader.sh + +EXTRA_DIST += grub-core/lib/gnulib-patches/fix-base64.patch +EXTRA_DIST += grub-core/lib/gnulib-patches/fix-null-deref.patch +EXTRA_DIST += grub-core/lib/gnulib-patches/fix-null-state-deref.patch +EXTRA_DIST += grub-core/lib/gnulib-patches/fix-regcomp-uninit-token.patch +EXTRA_DIST += grub-core/lib/gnulib-patches/fix-regexec-null-deref.patch +EXTRA_DIST += grub-core/lib/gnulib-patches/fix-uninit-structure.patch +EXTRA_DIST += grub-core/lib/gnulib-patches/fix-unused-value.patch +EXTRA_DIST += grub-core/lib/gnulib-patches/fix-width.patch +EXTRA_DIST += grub-core/lib/gnulib-patches/no-abort.patch + +EXTRA_DIST += grub-core/lib/libgcrypt +EXTRA_DIST += grub-core/lib/libgcrypt-grub/mpi/generic +EXTRA_DIST += $(shell find $(top_srcdir)/include -name '*.h') +EXTRA_DIST += $(shell find $(top_srcdir)/grub-core/lib -name '*.h') +EXTRA_DIST += grub-core/efiemu/runtime/config.h + +EXTRA_DIST += grub-core/lib/LzmaDec.c + +EXTRA_DIST += grub-core/fs/cpio_common.c + +EXTRA_DIST += BUGS +EXTRA_DIST += util/i386/efi/grub-dumpdevtree +EXTRA_DIST += util/spkmodem-recv.c +EXTRA_DIST += util/import_gcrypth.sed +EXTRA_DIST += util/bin2h.c +EXTRA_DIST += util/grub-gen-asciih.c +EXTRA_DIST += util/grub-gen-widthspec.c +EXTRA_DIST += util/grub-module-verifier.c +EXTRA_DIST += util/grub-module-verifier32.c +EXTRA_DIST += util/grub-module-verifier64.c +EXTRA_DIST += util/grub-module-verifierXX.c +EXTRA_DIST += util/grub-pe2elf.c + + +EXTRA_DIST += m4/gnulib-cache.m4 +EXTRA_DIST += m4/glibc2.m4 +EXTRA_DIST += m4/gnulib-tool.m4 +EXTRA_DIST += m4/intdiv0.m4 +EXTRA_DIST += m4/intl.m4 +EXTRA_DIST += m4/intldir.m4 +EXTRA_DIST += m4/intmax.m4 +EXTRA_DIST += m4/inttypes-pri.m4 +EXTRA_DIST += m4/lcmessage.m4 +EXTRA_DIST += m4/lock.m4 +EXTRA_DIST += m4/printf-posix.m4 +EXTRA_DIST += m4/threadlib.m4 +EXTRA_DIST += m4/uintmax_t.m4 +EXTRA_DIST += m4/visibility.m4 +EXTRA_DIST += m4/math_h.m4 + +EXTRA_DIST += grub-core/osdep/apple/hostdisk.c +EXTRA_DIST += grub-core/osdep/aros/hostdisk.c +EXTRA_DIST += grub-core/osdep/basic/hostdisk.c +EXTRA_DIST += grub-core/osdep/bsd/hostdisk.c +EXTRA_DIST += grub-core/osdep/freebsd/hostdisk.c +EXTRA_DIST += grub-core/osdep/hurd/hostdisk.c +EXTRA_DIST += grub-core/osdep/linux/hostdisk.c +EXTRA_DIST += grub-core/osdep/windows/hostdisk.c +EXTRA_DIST += grub-core/osdep/sun/hostdisk.c +EXTRA_DIST += grub-core/osdep/haiku/hostdisk.c + +EXTRA_DIST += grub-core/osdep/basic/init.c +EXTRA_DIST += grub-core/osdep/windows/init.c + +EXTRA_DIST += grub-core/osdep/apple/getroot.c +EXTRA_DIST += grub-core/osdep/aros/getroot.c +EXTRA_DIST += grub-core/osdep/basic/getroot.c +EXTRA_DIST += grub-core/osdep/bsd/getroot.c +EXTRA_DIST += grub-core/osdep/windows/getroot.c +EXTRA_DIST += grub-core/osdep/freebsd/getroot.c +EXTRA_DIST += grub-core/osdep/hurd/getroot.c +EXTRA_DIST += grub-core/osdep/linux/getroot.c +EXTRA_DIST += grub-core/osdep/sun/getroot.c +EXTRA_DIST += grub-core/osdep/haiku/getroot.c + +EXTRA_DIST += grub-core/osdep/basic/random.c +EXTRA_DIST += grub-core/osdep/basic/ofpath.c + +EXTRA_DIST += grub-core/osdep/unix/password.c +EXTRA_DIST += grub-core/osdep/unix/random.c +EXTRA_DIST += grub-core/osdep/unix/sleep.c + +EXTRA_DIST += grub-core/osdep/linux/ofpath.c + +EXTRA_DIST += grub-core/osdep/windows/password.c +EXTRA_DIST += grub-core/osdep/windows/random.c +EXTRA_DIST += grub-core/osdep/windows/sleep.c + +EXTRA_DIST += po/gettext-patches/0001-Support-POTFILES-shell.patch +EXTRA_DIST += po/gettext-patches/0002-Handle-gettext_printf-shell-function.patch +EXTRA_DIST += po/gettext-patches/0003-Make-msgfmt-output-in-little-endian.patch +EXTRA_DIST += po/gettext-patches/0004-Use-SHELL-rather-than-bin-sh.patch + +EXTRA_DIST += po/POTFILES-shell.in +EXTRA_DIST += po/README +EXTRA_DIST += po/Rules-translit +EXTRA_DIST += po/Rules-windowsdir +EXTRA_DIST += po/arabic.sed +EXTRA_DIST += po/cyrillic.sed +EXTRA_DIST += po/greek.sed +EXTRA_DIST += po/grub.d.sed +EXTRA_DIST += po/hebrew.sed + +EXTRA_DIST += tests/dfly-mbr-mbexample.mbr.img.gz +EXTRA_DIST += tests/dfly-mbr-mbexample.dfly.img.gz + +EXTRA_DIST += coreboot.cfg + +EXTRA_DIST += tests/file_filter/file +EXTRA_DIST += tests/file_filter/file.gz +EXTRA_DIST += tests/file_filter/file.gz.sig +EXTRA_DIST += tests/file_filter/file.lzop +EXTRA_DIST += tests/file_filter/file.lzop.sig +EXTRA_DIST += tests/file_filter/file.xz +EXTRA_DIST += tests/file_filter/file.xz.sig +EXTRA_DIST += tests/file_filter/keys +EXTRA_DIST += tests/file_filter/keys.pub +EXTRA_DIST += tests/file_filter/test.cfg +EXTRA_DIST += tests/syslinux/ubuntu10.04/isolinux/prompt.cfg +EXTRA_DIST += tests/syslinux/ubuntu10.04/isolinux/gfxboot.cfg +EXTRA_DIST += tests/syslinux/ubuntu10.04/isolinux/adtxt.cfg +EXTRA_DIST += tests/syslinux/ubuntu10.04/isolinux/isolinux.cfg +EXTRA_DIST += tests/syslinux/ubuntu10.04/isolinux/exithelp.cfg +EXTRA_DIST += tests/syslinux/ubuntu10.04/isolinux/txt.cfg +EXTRA_DIST += tests/syslinux/ubuntu10.04/isolinux/menu.cfg +EXTRA_DIST += tests/syslinux/ubuntu10.04/isolinux/stdmenu.cfg +EXTRA_DIST += tests/syslinux/ubuntu10.04/isolinux/dtmenu.cfg +EXTRA_DIST += tests/syslinux/ubuntu10.04/isolinux/po4a.cfg +EXTRA_DIST += tests/syslinux/ubuntu10.04/isolinux/rqtxt.cfg +EXTRA_DIST += tests/syslinux/ubuntu10.04_grub.cfg.in diff --git a/conf/i386-cygwin-img-ld.sc b/conf/i386-cygwin-img-ld.sc new file mode 100644 index 0000000..3ac26fc --- /dev/null +++ b/conf/i386-cygwin-img-ld.sc @@ -0,0 +1,53 @@ +/* Linker script to create grub .img files on Cygwin. */ + +SECTIONS +{ + .text : + { + start = . ; + _start = . ; + __start = . ; + *(.text) + etext = . ; + } + .data : + { + __data_start__ = . ; + *(.data) + __data_end__ = . ; + __rdata_start__ = . ; + *(.rdata) + __rdata_end__ = . ; + *(.pdata) + edata = . ; + _edata = . ; + __edata = . ; + } + .bss : + { + __bss_start__ = . ; + *(.bss) + __common_start__ = . ; + *(COMMON) + __bss_end__ = . ; + } + .edata : + { + *(.edata) + end = . ; + _end = . ; + __end = . ; + } + .stab : + { + *(.stab) + } + .stabstr : + { + *(.stabstr) + } +} + +ASSERT("__rdata_end__"=="edata", ".pdata not empty") +ASSERT("__bss_end__" =="end" , ".edata not empty") + -- cgit v1.2.3