development/acpica: Added to 12.0 repository

This commit is contained in:
Heinz Wiesinger 2010-05-11 20:00:21 +02:00 committed by Robby Workman
parent 88172f431f
commit 861f19c444
5 changed files with 288 additions and 0 deletions

View File

@ -0,0 +1,5 @@
ACPI CA includes:
- iasl, an ASL compiler/decompiler
- acpisrc, a source code conversion tool
- acpiexec, a user-space AML interpreter
- acpixtract, convert ascii ACPI tables to binary

View File

@ -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)

View File

@ -0,0 +1,79 @@
#!/bin/sh
# Slackware build script for acpica
# Copyright 2008 Heinz Wiesinger <hmwiesinger@gmx.at>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=acpica
VERSION=20080213
ARCH=${ARCH:-i486}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-unix-$VERSION
tar xvf $CWD/$PRGNAM-unix-$VERSION.tar.gz
cd $PRGNAM-unix-$VERSION
chown -R root:root .
chmod -R u+w,go+r-w,a-s .
# This is a patch from gentoo, which doesn't change the source
# but eases the way to build it.
patch -p1 -i $CWD/acpica-unix-20060512-buildfixup.patch
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
make
install -D -m 0755 ./compiler/iasl $PKG/usr/bin/iasl
install -D -m 0755 ./tools/acpixtract/acpixtract $PKG/usr/bin/acpixtract
install -D -m 0755 ./tools/acpiexec/acpiexec $PKG/usr/bin/acpiexec
install -D -m 0755 ./tools/acpisrc/acpisrc $PKG/usr/bin/acpisrc
( cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
)
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a changes.txt README $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz

View File

@ -0,0 +1,8 @@
PRGNAM="acpica"
VERSION="20080213"
HOMEPAGE="http://www.acpica.org"
DOWNLOAD="http://www.acpica.org/download/acpica-unix-20080213.tar.gz"
MD5SUM="97dc0a043a5b9b76d17277af808e4e26"
MAINTAINER="ppr:kut"
EMAIL="HMWiesinger@gmx.at"
APPROVED="rworkman"

View File

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|' on
# the right side marks the last column you can put a character in. You must make
# exactly 11 lines for the formatting to be correct. It's also customary to
# leave one space after the ':'.
|-----handy-ruler-----------------------------------------------------|
acpica: acpica (ACPI Source Language [ASL] Utils)
acpica:
acpica: ACPI CA includes:
acpica: - iasl, an ASL compiler/decompiler
acpica: - acpisrc, a source code conversion tool
acpica: - acpiexec, a user-space AML interpreter
acpica: - acpixtract, convert ascii ACPI tables to binary
acpica:
acpica: Homepage: http://www.acpica.org
acpica:
acpica: