diff options
Diffstat (limited to 'development/acpica/acpica-unix-20060512-buildfixup.patch')
-rw-r--r-- | development/acpica/acpica-unix-20060512-buildfixup.patch | 177 |
1 files changed, 177 insertions, 0 deletions
diff --git a/development/acpica/acpica-unix-20060512-buildfixup.patch b/development/acpica/acpica-unix-20060512-buildfixup.patch new file mode 100644 index 0000000000..5a08da4f5a --- /dev/null +++ b/development/acpica/acpica-unix-20060512-buildfixup.patch @@ -0,0 +1,177 @@ +Patches by Robin H. Johnson <robbat2@gentoo.org> - 2006/05/29 + +Previously using GCC you had to do make clean between making each of the +seperate utilities. This was due to the fact that depending on what compiler +defines were passed, the output was different. +The following patch makes the output files reflect which utility they are +compiled for, so they don't conflict, and no make clean is needed. + +This patch also adds a top level Makefile to allow quick building of the entire +package. + +Also fixes parallel build issues in compiler/, where the yacc generated data +might used before it was ready. + +diff -Nuar --exclude '*~' acpica-unix-20060512.orig/Makefile acpica-unix-20060512/Makefile +--- acpica-unix-20060512.orig/Makefile 1969-12-31 16:00:00.000000000 -0800 ++++ acpica-unix-20060512/Makefile 2006-05-29 16:28:55.560238471 -0700 +@@ -0,0 +1,31 @@ ++PROGS= compiler/iasl tools/acpiexec/acpiexec tools/acpixtract/acpixtract tools/acpisrc/acpisrc ++ifndef CFLAGS ++CFLAGS= -O2 -g ++endif ++# warnings always important ++CFLAGS += -Wall -Wstrict-prototypes ++ ++all: $(PROGS) ++ ++iasl: compiler ++acpiexec: tools/acpiexec ++acpixtract: tools/acpixtract ++acpisrc: tools/acpisrc ++ ++SUBDIRS = $(dir $(PROGS)) ++.PHONY: $(SUBDIRS) all ++ ++compiler: compiler/iasl ++tools/acpiexec: tools/acpiexec/acpiexec ++tools/acpixtract: tools/acpixtract/acpixtract ++tools/acpisrc: tools/acpisrc/acpisrc ++ ++ ++$(PROGS): ++ CFLAGS="$(CFLAGS)" $(MAKE) -C $(dir $(@)) ++ ++clean: clean-subdirs ++clean-subdirs: ++ for dir in $(SUBDIRS); do \ ++ $(MAKE) -C $$dir clean; \ ++ done +diff -Nuar --exclude '*~' acpica-unix-20060512.orig/compiler/Makefile acpica-unix-20060512/compiler/Makefile +--- acpica-unix-20060512.orig/compiler/Makefile 2006-05-12 14:13:31.000000000 -0700 ++++ acpica-unix-20060512/compiler/Makefile 2006-05-29 16:34:25.050744637 -0700 +@@ -87,7 +87,7 @@ + ../osunixxf.c + + NOMAN= YES +-CFLAGS+= -Wall -O2 -Wstrict-prototypes -D_LINUX -DACPI_ASL_COMPILER -I../include ++CFLAGS+= -D_LINUX -DACPI_ASL_COMPILER -I../include + + #YACC= yacc + YACC= bison +@@ -101,14 +101,22 @@ + #CFLAGS+= -D_USE_BERKELEY_YACC + #.endif + +-aslmain : $(patsubst %.c,%.o, $(SRCS)) +- $(CC) $(LDFLAGS) $(patsubst %.c,%.o, $(SRCS)) \ +- $(LOADLIBES) $(LDLIBS) -o iasl ++OBJNAME = iasl ++OBJS= $(patsubst %.c,%.$(OBJNAME).o, $(SRCS)) ++%.$(OBJNAME).o: %.c ++ $(COMPILE.c) $(OUTPUT_OPTION) $< ++ ++$(PROG) : $(OBJS) ++ $(CC) $(LDFLAGS) $(OBJS) \ ++ $(LOADLIBES) $(LDLIBS) -o $(PROG) + + CLEANFILES= y.output y.tab.c y.tab.h aslcompiler.y.h \ +- aslcompilerparse.c aslcompilerlex.c iasl ++ aslcompilerparse.c aslcompilerlex.c $(PROG) + +-aslcompilerparse.c: aslcompiler.y ++# force the YACC work to be done before any sources ++# as they all depend on it. ++$(SRCS): aslcompiler.y.h ++aslcompiler.y.h: aslcompiler.y + ${YACC} ${YFLAGS} aslcompiler.y + cp y.tab.c aslcompilerparse.c + cp y.tab.h aslcompiler.y.h +@@ -117,5 +125,5 @@ + ${LEX} ${LFLAGS} -PAslCompiler -oaslcompilerlex.c aslcompiler.l + + clean : +- rm -f $(CLEANFILES) $(patsubst %.c,%.o, $(SRCS)) ++ rm -f $(CLEANFILES) $(OBJS) + +diff -Nuar --exclude '*~' acpica-unix-20060512.orig/tools/acpiexec/Makefile acpica-unix-20060512/tools/acpiexec/Makefile +--- acpica-unix-20060512.orig/tools/acpiexec/Makefile 2006-05-12 14:13:43.000000000 -0700 ++++ acpica-unix-20060512/tools/acpiexec/Makefile 2006-05-29 16:33:43.551484557 -0700 +@@ -131,14 +131,19 @@ + ../../osunixxf.c + + +-CFLAGS+= -Wall -g -D_LINUX -DNDEBUG -D_CONSOLE -DACPI_EXEC_APP -D_MULTI_THREADED -Wstrict-prototypes -I../../include ++CFLAGS+= -D_LINUX -DNDEBUG -D_CONSOLE -DACPI_EXEC_APP -D_MULTI_THREADED -I../../include + ++OBJNAME = acpiexec ++OBJS= $(patsubst %.c,%.$(OBJNAME).o, $(SRCS)) + +-acpiexec : $(patsubst %.c,%.o, $(SRCS)) +- $(CC) $(LDFLAGS) $(patsubst %.c,%.o, $(SRCS)) -o $(PROG) ++%.$(OBJNAME).o: %.c ++ $(COMPILE.c) $(OUTPUT_OPTION) $< ++ ++$(PROG): $(OBJS) ++ $(CC) $(LDFLAGS) $(OBJS) -o $(PROG) + + CLEANFILES= $(PROG) + + clean : +- rm -f $(CLEANFILES) $(patsubst %.c,%.o, $(SRCS)) ++ rm -f $(CLEANFILES) $(OBJS) + +diff -Nuar --exclude '*~' acpica-unix-20060512.orig/tools/acpisrc/Makefile acpica-unix-20060512/tools/acpisrc/Makefile +--- acpica-unix-20060512.orig/tools/acpisrc/Makefile 2006-05-12 14:13:44.000000000 -0700 ++++ acpica-unix-20060512/tools/acpisrc/Makefile 2006-05-29 16:33:03.300322581 -0700 +@@ -4,14 +4,19 @@ + SRCS= ascase.c asconvrt.c asfile.c asmain.c asremove.c astable.c \ + asutils.c osunixdir.c ../../common/getopt.c + +-CFLAGS+= -Wall -O2 -D_LINUX -DACPI_APPLICATION -Wstrict-prototypes -I../../include ++CFLAGS+= -D_LINUX -DACPI_APPLICATION -I../../include + ++OBJNAME = acpi_application ++OBJS= $(patsubst %.c,%.$(OBJNAME).o, $(SRCS)) + +-aslmain : $(patsubst %.c,%.o, $(SRCS)) +- $(CC) $(LDFLAGS) $(patsubst %.c,%.o, $(SRCS)) -o $(PROG) ++%.$(OBJNAME).o: %.c ++ $(COMPILE.c) $(OUTPUT_OPTION) $< ++ ++$(PROG) : $(OBJS) ++ $(CC) $(LDFLAGS) $(OBJS) -o $(PROG) + + CLEANFILES= $(PROG) + + clean : +- rm -f $(CLEANFILES) $(patsubst %.c,%.o, $(SRCS)) ++ rm -f $(CLEANFILES) $(OBJS) + +diff -Nuar --exclude '*~' acpica-unix-20060512.orig/tools/acpixtract/Makefile acpica-unix-20060512/tools/acpixtract/Makefile +--- acpica-unix-20060512.orig/tools/acpixtract/Makefile 2006-05-12 14:13:44.000000000 -0700 ++++ acpica-unix-20060512/tools/acpixtract/Makefile 2006-05-29 16:32:50.047281484 -0700 +@@ -3,14 +3,19 @@ + PROG= acpixtract + SRCS= acpixtract.c + +-CFLAGS+= -Wall -O2 -D_LINUX -DACPI_APPLICATION -Wstrict-prototypes -I../../include ++CFLAGS+= -D_LINUX -DACPI_APPLICATION -I../../include + ++OBJNAME = acpi_application ++OBJS= $(patsubst %.c,%.$(OBJNAME).o, $(SRCS)) + +-acpixtract : $(patsubst %.c,%.o, $(SRCS)) +- $(CC) $(LDFLAGS) $(patsubst %.c,%.o, $(SRCS)) -o $(PROG) ++%.$(OBJNAME).o: %.c ++ $(COMPILE.c) $(OUTPUT_OPTION) $< ++ ++$(PROG) : $(OBJS) ++ $(CC) $(LDFLAGS) $(OBJS) -o $(PROG) + + CLEANFILES= $(PROG) + + clean : +- rm -f $(CLEANFILES) $(patsubst %.c,%.o, $(SRCS)) ++ rm -f $(CLEANFILES) $(OBJS) + |