Merge branch 'master' into package-management
Additional changes: * Add src/system/kernel/lib/zlib, which builds a kernel version of zlib, needed by packagefs. * BuildFeatures: Add a build feature "gcc2" to allow for easier checks. * Referenceable.cpp: Include <OS.h> instead of <debugger.h>. The latter is not needed and prevents building for the build platform. * zlib/zutil.h: Fix gcc 2 build. We really should use the external package instead. Conflicts: .gitignore build/jam/BuildSetup build/jam/FileRules build/jam/FloppyBootImage build/jam/HaikuImage build/jam/ImageRules build/jam/KernelRules build/jam/NetBootArchive build/jam/OptionalBuildFeatures build/jam/OptionalLibPackages build/jam/OptionalPackageDependencies build/jam/OptionalPackages build/scripts/build_haiku_image configure data/bin/installoptionalpackage data/system/boot/Bootscript headers/os/app/Message.h headers/os/package/PackageInfo.h headers/os/package/PackageInfoAttributes.h headers/os/package/PackageInfoSet.h headers/os/package/PackageRoster.h headers/os/package/PackageVersion.h headers/os/package/hpkg/PackageInfoAttributeValue.h headers/os/storage/FindDirectory.h headers/os/storage/Node.h headers/os/support/StringList.h headers/private/system/directories.h src/add-ons/kernel/drivers/audio/ac97/es1370/Jamfile src/add-ons/kernel/file_systems/packagefs/AttributeIndex.cpp src/add-ons/kernel/file_systems/packagefs/Jamfile src/add-ons/kernel/file_systems/packagefs/Package.cpp src/add-ons/kernel/file_systems/packagefs/Package.h src/add-ons/kernel/file_systems/packagefs/PackageDomain.cpp src/add-ons/kernel/file_systems/packagefs/PackageDomain.h src/add-ons/kernel/file_systems/packagefs/PackageFSRoot.cpp src/add-ons/kernel/file_systems/packagefs/PackageLinkDirectory.cpp src/add-ons/kernel/file_systems/packagefs/PackageLinkDirectory.h src/add-ons/kernel/file_systems/packagefs/PackageLinkSymlink.cpp src/add-ons/kernel/file_systems/packagefs/PackageLinkSymlink.h src/add-ons/kernel/file_systems/packagefs/PackageLinksDirectory.cpp src/add-ons/kernel/file_systems/packagefs/PackageNode.h src/add-ons/kernel/file_systems/packagefs/ResolvableFamily.cpp src/add-ons/kernel/file_systems/packagefs/Version.cpp src/add-ons/kernel/file_systems/packagefs/Version.h src/add-ons/kernel/file_systems/packagefs/Volume.cpp src/add-ons/kernel/file_systems/packagefs/Volume.h src/add-ons/kernel/file_systems/packagefs/kernel_interface.cpp src/add-ons/kernel/file_systems/userlandfs/shared/driver_settings.c src/apps/deskbar/BarApp.cpp src/apps/deskbar/BarMenuBar.cpp src/apps/deskbar/BarMenuBar.h src/apps/deskbar/BarView.cpp src/apps/deskbar/BarView.h src/apps/deskbar/BarWindow.cpp src/apps/deskbar/BarWindow.h src/apps/deskbar/DeskbarMenu.cpp src/apps/deskbar/DeskbarMenu.h src/apps/deskbar/DeskbarUtils.cpp src/apps/deskbar/DeskbarUtils.h src/apps/deskbar/ExpandoMenuBar.cpp src/apps/deskbar/ExpandoMenuBar.h src/apps/deskbar/TeamMenu.cpp src/apps/processcontroller/ProcessController.cpp src/apps/remotedesktop/RemoteDesktop.cpp src/bin/bash/config-top.h src/bin/finddir.c src/bin/package/Jamfile src/bin/package/command_add.cpp src/bin/package/command_create.cpp src/bin/package/command_list.cpp src/bin/package_repo/command_list.cpp src/bin/pkgman/command_refresh.cpp src/build/libbe/support/Jamfile src/build/libpackage/Jamfile src/build/libroot/Jamfile src/build/libroot/fs.cpp src/build/libroot/remapped_functions.h src/kits/locale/MutableLocaleRoster.cpp src/kits/opengl/GLRendererRoster.cpp src/kits/package/PackageInfo.cpp src/kits/package/PackageInfoSet.cpp src/kits/package/PackageRoster.cpp src/kits/package/PackageVersion.cpp src/kits/package/RepositoryCache.cpp src/kits/package/hpkg/PackageWriterImpl.cpp src/kits/package/hpkg/ReaderImplBase.cpp src/kits/package/hpkg/WriterImplBase.cpp src/kits/print/PrintTransport.cpp src/kits/print/Printer.cpp src/kits/screensaver/ScreenSaverRunner.cpp src/kits/support/StringList.cpp src/kits/tracker/ContainerWindow.cpp src/kits/tracker/DeskWindow.cpp src/kits/tracker/PoseView.cpp src/libs/print/libprint/Transport.cpp src/preferences/printers/AddPrinterDialog.cpp src/preferences/screensaver/ScreenSaverWindow.cpp src/servers/debug/DebugServer.cpp src/servers/input/AddOnManager.cpp src/servers/media_addon/MediaAddonServer.cpp src/system/boot/Jamfile src/system/boot/loader/Jamfile src/system/boot/loader/loader.cpp src/system/boot/loader/vfs.cpp src/system/kernel/fs/vfs.cpp src/system/kernel/fs/vfs_boot.cpp src/system/libroot/os/find_directory.cpp src/system/runtime_loader/runtime_loader.cpp src/tools/package/Jamfile
This commit is contained in:
@@ -2,3 +2,7 @@ generated*
|
||||
build/jam/UserBuildConfig
|
||||
build/user_config_headers
|
||||
|
||||
# ignore KDE backup files ending with a ~
|
||||
*~
|
||||
# Vim swp files
|
||||
.*.swp
|
||||
|
||||
Vendored
+458
@@ -0,0 +1,458 @@
|
||||
diff -rupN Mesa-7.8.2/bin/mklib Mesa-7.8.2-haiku/bin/mklib
|
||||
--- Mesa-7.8.2/bin/mklib 2010-06-15 17:43:41.034340864 +0000
|
||||
+++ Mesa-7.8.2-haiku/bin/mklib 2012-01-17 09:57:07.461373440 +0000
|
||||
@@ -260,7 +260,7 @@ if [ $STATIC = 1 ]; then
|
||||
NEWOBJECTS=""
|
||||
for OBJ in $OBJECTS ; do
|
||||
case $OBJ in
|
||||
- -Wl,*)
|
||||
+ -Wl,*|-L*|-l*)
|
||||
echo "mklib: warning: ignoring $OBJ for static library"
|
||||
;;
|
||||
*)
|
||||
@@ -307,7 +307,7 @@ fi
|
||||
#
|
||||
case $ARCH in
|
||||
|
||||
- 'Linux' | 'OpenBSD' | 'DragonFly' | 'GNU' | GNU/*)
|
||||
+ 'Linux' | 'OpenBSD' | 'DragonFly' | 'GNU' | GNU/* | 'NetBSD')
|
||||
# we assume gcc
|
||||
|
||||
if [ "x$LINK" = "x" ] ; then
|
||||
@@ -494,13 +494,16 @@ case $ARCH in
|
||||
OPTS="${OPTS} -Wl,-Mmapfile.scope"
|
||||
fi
|
||||
|
||||
- # Check if objects are SPARC v9
|
||||
+ # Check if objects are 64-bit
|
||||
# file says: ELF 64-bit MSB relocatable SPARCV9 Version 1
|
||||
set ${OBJECTS}
|
||||
if [ ${LINK} = "cc" -o ${LINK} = "CC" ] ; then
|
||||
- SPARCV9=`file $1 | grep SPARCV9`
|
||||
- if [ "${SPARCV9}" ] ; then
|
||||
- OPTS="${OPTS} -xarch=v9"
|
||||
+ ABI64=`file $1 | grep "ELF 64-bit"`
|
||||
+ if [ "${ABI64}" ] ; then
|
||||
+ case `uname -p` in
|
||||
+ sparc) OPTS="${OPTS} -xarch=v9" ;;
|
||||
+ i386) OPTS="${OPTS} -xarch=amd64" ;;
|
||||
+ esac
|
||||
fi
|
||||
fi
|
||||
if [ "${ALTOPTS}" ] ; then
|
||||
@@ -571,20 +574,6 @@ case $ARCH in
|
||||
fi
|
||||
;;
|
||||
|
||||
- 'NetBSD')
|
||||
- if [ $STATIC = 1 ] ; then
|
||||
- LIBNAME="lib${LIBNAME}_pic.a"
|
||||
- echo "mklib: Making NetBSD PIC static library: " ${LIBNAME}
|
||||
- FINAL_LIBS=`make_ar_static_lib cq 1 ${LIBNAME} ${OBJECTS}`
|
||||
- else
|
||||
- LIBNAME="lib${LIBNAME}.so.${MAJOR}.${MINOR}"
|
||||
- echo "mklib: Making NetBSD PIC shared library: " ${LIBNAME}
|
||||
- rm -f ${LIBNAME}
|
||||
- ld -x -Bshareable -Bforcearchive -o ${LIBNAME} ${OBJECTS}
|
||||
- FINAL_LIBS=${LIBNAME}
|
||||
- fi
|
||||
- ;;
|
||||
-
|
||||
'IRIX' | 'IRIX64')
|
||||
if [ $STATIC = 1 ] ; then
|
||||
LIBNAME="lib${LIBNAME}.a"
|
||||
@@ -778,9 +767,8 @@ case $ARCH in
|
||||
OPTS="${OPTS} -exported_symbols_list ${EXPORTS}"
|
||||
fi
|
||||
|
||||
- LINKNAME="lib${LIBNAME}.${MAJOR}.${LIBSUFFIX}"
|
||||
- LINKNAME2="lib${LIBNAME}.${LIBSUFFIX}"
|
||||
- LIBNAME="lib${LIBNAME}.${MAJOR}.${MINOR}.${LIBSUFFIX}"
|
||||
+ LINKNAME="lib${LIBNAME}.${LIBSUFFIX}"
|
||||
+ LIBNAME="lib${LIBNAME}.${MAJOR}.${LIBSUFFIX}"
|
||||
|
||||
# examine first object to determine ABI
|
||||
set ${OBJECTS}
|
||||
@@ -793,9 +781,6 @@ case $ARCH in
|
||||
OPTS=${ALTOPTS}
|
||||
fi
|
||||
|
||||
- # XXX can we always add -isysroot /Developer/SDKs/MacOSX10.4u.sdk
|
||||
- # to OPTS here?
|
||||
-
|
||||
# determine linker
|
||||
if [ $CPLUSPLUS = 1 ] ; then
|
||||
LINK="g++"
|
||||
@@ -807,8 +792,7 @@ case $ARCH in
|
||||
|
||||
${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
||||
ln -s ${LIBNAME} ${LINKNAME}
|
||||
- ln -s ${LIBNAME} ${LINKNAME2}
|
||||
- FINAL_LIBS="${LIBNAME} ${LINKNAME} ${LINKNAME2}"
|
||||
+ FINAL_LIBS="${LIBNAME} ${LINKNAME}"
|
||||
fi
|
||||
;;
|
||||
|
||||
@@ -818,22 +802,6 @@ case $ARCH in
|
||||
FINAL_LIBS=`make_ar_static_lib -ru 0 ${LIBNAME} ${OBJECTS}`
|
||||
;;
|
||||
|
||||
- 'BeOS')
|
||||
- if [ $STATIC = 1 ] ; then
|
||||
- LIBNAME="lib${LIBNAME}.a"
|
||||
- echo "mklib: Making BeOS static library: " ${LIBNAME}
|
||||
- FINAL_LIBS=`make_ar_static_lib -cru 0 ${LIBNAME} ${OBJECTS}`
|
||||
- else
|
||||
- LIBNAME="lib${LIBNAME}.so"
|
||||
- echo "mklib: Making BeOS shared library: " ${LIBNAME}
|
||||
- gcc -nostart -Xlinker "-soname=${LIBNAME}" -L/Be/develop/lib/x86 -lbe ${DEPS} ${OBJECTS} -o "${LIBNAME}"
|
||||
- mimeset -f "${LIBNAME}"
|
||||
- # XXX remove the Mesa3D stuff here since mklib isn't mesa-specific.
|
||||
- setversion "${LIBNAME}" -app ${MAJOR} ${MINOR} ${PATCH} -short "Powered by Mesa3D!" -long "Powered by Mesa3D!"
|
||||
- fi
|
||||
- FINAL_LIBS=${LIBNAME}
|
||||
- ;;
|
||||
-
|
||||
'QNX')
|
||||
LIBNAME="lib${LIBNAME}.a"
|
||||
echo "mklib: Making QNX library: " ${LIBNAME}
|
||||
@@ -927,6 +895,16 @@ case $ARCH in
|
||||
|
||||
CYGWIN*)
|
||||
# GCC-based environment
|
||||
+
|
||||
+ if [ "x$LINK" = "x" ] ; then
|
||||
+ # -linker was not specified so set default link command now
|
||||
+ if [ $CPLUSPLUS = 1 ] ; then
|
||||
+ LINK=g++
|
||||
+ else
|
||||
+ LINK=gcc
|
||||
+ fi
|
||||
+ fi
|
||||
+
|
||||
if [ $NOPREFIX = 1 ] ; then
|
||||
# No "lib" or ".so" part
|
||||
echo "mklib: Making CYGWIN shared library: " ${LIBNAME}
|
||||
@@ -935,7 +913,7 @@ case $ARCH in
|
||||
OPTS=${ALTOPTS}
|
||||
fi
|
||||
rm -f ${LIBNAME}
|
||||
- ${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
||||
+ ${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS} || exit $?
|
||||
FINAL_LIBS=${LIBNAME}
|
||||
else
|
||||
CYGNAME="cyg${LIBNAME}" # prefix with "cyg"
|
||||
@@ -943,7 +921,7 @@ case $ARCH in
|
||||
|
||||
if [ $STATIC = 1 ] ; then
|
||||
LIBNAME=${LIBNAME}.a
|
||||
- echo "mklib: Making" $ARCH "static library: " ${LIBNAME}
|
||||
+ echo "mklib: Making CYGWIN static library: " ${LIBNAME}
|
||||
OPTS="-ru"
|
||||
if [ "${ALTOPTS}" ] ; then
|
||||
OPTS=${ALTOPTS}
|
||||
@@ -961,13 +939,7 @@ case $ARCH in
|
||||
if [ "${ALTOPTS}" ] ; then
|
||||
OPTS=${ALTOPTS}
|
||||
fi
|
||||
- echo "mklib: Making" $ARCH "shared library: " ${CYGNAME}-${MAJOR}.dll
|
||||
-
|
||||
- if [ $CPLUSPLUS = 1 ] ; then
|
||||
- LINK="g++"
|
||||
- else
|
||||
- LINK="gcc"
|
||||
- fi
|
||||
+ echo "mklib: Making CYGWIN shared library: " ${CYGNAME}-${MAJOR}.dll
|
||||
|
||||
# rm any old libs
|
||||
rm -f ${CYGNAME}-${MAJOR}.dll
|
||||
@@ -976,12 +948,7 @@ case $ARCH in
|
||||
rm -f ${LIBNAME}.a
|
||||
|
||||
# make lib
|
||||
- ${LINK} ${OPTS} ${LDFLAGS} -o ${CYGNAME}-${MAJOR}.dll ${OBJECTS} ${DEPS}
|
||||
- # make build fail if link failed
|
||||
- es=$?
|
||||
- if [ "$es" -ne "0" ]; then
|
||||
- exit $es
|
||||
- fi
|
||||
+ ${LINK} ${OPTS} ${LDFLAGS} -o ${CYGNAME}-${MAJOR}.dll ${OBJECTS} ${DEPS} || exit $?
|
||||
# make usual symlinks
|
||||
ln -s ${LIBNAME}-${MAJOR}.dll.a ${LIBNAME}.dll.a
|
||||
# finish up
|
||||
@@ -992,6 +959,43 @@ case $ARCH in
|
||||
fi
|
||||
;;
|
||||
|
||||
+ 'Haiku')
|
||||
+ if [ $STATIC = 1 ] ; then
|
||||
+ LIBNAME="lib${LIBNAME}.a"
|
||||
+ if [ "x$LINK" = "x" ] ; then
|
||||
+ # -linker was not specified so set default link command now
|
||||
+ if [ $CPLUSPLUS = 1 ] ; then
|
||||
+ LINK=g++
|
||||
+ else
|
||||
+ LINK=gcc
|
||||
+ fi
|
||||
+ fi
|
||||
+
|
||||
+ OPTS="-ru"
|
||||
+ if [ "${ALTOPTS}" ] ; then
|
||||
+ OPTS=${ALTOPTS}
|
||||
+ fi
|
||||
+
|
||||
+ echo "mklib: Making static library for Haiku: " ${LIBNAME}
|
||||
+
|
||||
+ # expand .a into .o files
|
||||
+ NEW_OBJECTS=`expand_archives ${LIBNAME}.obj $OBJECTS`
|
||||
+
|
||||
+ # make static lib
|
||||
+ FINAL_LIBS=`make_ar_static_lib ${OPTS} 1 ${LIBNAME} ${NEW_OBJECTS}`
|
||||
+
|
||||
+ # remove temporary extracted .o files
|
||||
+ rm -rf ${LIBNAME}.obj
|
||||
+ else
|
||||
+ LIBNAME="lib${LIBNAME}.so" # prefix with "lib", suffix with ".so"
|
||||
+ OPTS="-shared"
|
||||
+
|
||||
+ echo "mklib: Making shared library for Haiku: " ${LIBNAME}
|
||||
+ ${LINK} ${OPTS} ${LDFLAGS} ${OBJECTS} ${DEPS} -o ${LIBNAME}
|
||||
+ FINAL_LIBS="${LIBNAME}"
|
||||
+ fi
|
||||
+ ;;
|
||||
+
|
||||
'example')
|
||||
# If you're adding support for a new architecture, you can
|
||||
# start with this:
|
||||
@@ -1021,4 +1025,9 @@ if [ ${INSTALLDIR} != "." ] ; then
|
||||
echo "mklib: Installing" ${FINAL_LIBS} "in" ${INSTALLDIR}
|
||||
test -d ${INSTALLDIR} || mkdir -p ${INSTALLDIR}
|
||||
mv ${FINAL_LIBS} ${INSTALLDIR}/
|
||||
+
|
||||
+ if [ "x${FINAL_BINS}" != "x" ] ; then
|
||||
+ echo "mklib: Installing" ${FINAL_BINS} "in" ${INSTALLDIR}
|
||||
+ mv ${FINAL_BINS} ${INSTALLDIR}/
|
||||
+ fi
|
||||
fi
|
||||
diff -rupN Mesa-7.8.2/configs/current Mesa-7.8.2-haiku/configs/current
|
||||
--- Mesa-7.8.2/configs/current 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ Mesa-7.8.2-haiku/configs/current 2012-01-17 11:03:50.553910272 +0000
|
||||
@@ -0,0 +1,63 @@
|
||||
+# Configuration for Haiku
|
||||
+# Written by Alexander von Gluck IV
|
||||
+#
|
||||
+# Based on the BeOS config
|
||||
+# written by Philippe Houdoin
|
||||
+
|
||||
+include $(TOP)/configs/default
|
||||
+
|
||||
+CONFIG_NAME = haiku
|
||||
+
|
||||
+# Haiku settings
|
||||
+
|
||||
+DEFINES = \
|
||||
+ -DBEOS_THREADS \
|
||||
+ -DGNU_ASSEMBLER \
|
||||
+ -DUSE_X86_ASM \
|
||||
+ -DUSE_MMX_ASM \
|
||||
+ -DUSE_3DNOW_ASM \
|
||||
+ -DUSE_SSE_ASM
|
||||
+
|
||||
+MESA_ASM_SOURCES = $(X86_SOURCES)
|
||||
+GLAPI_ASM_SOURCES = $(X86_API)
|
||||
+
|
||||
+CC = gcc
|
||||
+CXX = g++
|
||||
+LD = gcc
|
||||
+
|
||||
+CFLAGS = -Wall -Wno-multichar $(DEFINES)
|
||||
+CXXFLAGS = $(CFLAGS)
|
||||
+LDFLAGS +=
|
||||
+
|
||||
+# Work around aliasing bugs - developers should comment this out
|
||||
+CFLAGS += -fno-strict-aliasing
|
||||
+#CFLAGS += -std=c99
|
||||
+CXXFLAGS += -fno-strict-aliasing
|
||||
+
|
||||
+# No makedepend on Haiku, this will solve it
|
||||
+MKDEP = true
|
||||
+
|
||||
+# Debug defines
|
||||
+ifdef DEBUG
|
||||
+ CFLAGS += -g -O0
|
||||
+ LDFLAGS += -g
|
||||
+ DEFINES += -DDEBUG
|
||||
+else
|
||||
+ CFLAGS += -O3
|
||||
+endif
|
||||
+
|
||||
+# GLU settings
|
||||
+GLU_LIB_NAME = libglu.a
|
||||
+GLU_LIB = glu
|
||||
+
|
||||
+# Directories
|
||||
+SRC_DIRS = glsl mesa/x86 mapi/glapi mesa glu
|
||||
+GLU_DIRS = sgi
|
||||
+DRIVER_DIRS =
|
||||
+PROGRAM_DIRS =
|
||||
+
|
||||
+# Library/program dependencies
|
||||
+GL_LIB_DEPS =
|
||||
+OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
|
||||
+GLU_LIB_DEPS =
|
||||
+APP_LIB_DEPS = -lbe -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -l$(GLUT_LIB)
|
||||
diff -rupN Mesa-7.8.2/configs/haiku Mesa-7.8.2-haiku/configs/haiku
|
||||
--- Mesa-7.8.2/configs/haiku 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ Mesa-7.8.2-haiku/configs/haiku 2012-01-17 11:03:50.553910272 +0000
|
||||
@@ -0,0 +1,63 @@
|
||||
+# Configuration for Haiku
|
||||
+# Written by Alexander von Gluck IV
|
||||
+#
|
||||
+# Based on the BeOS config
|
||||
+# written by Philippe Houdoin
|
||||
+
|
||||
+include $(TOP)/configs/default
|
||||
+
|
||||
+CONFIG_NAME = haiku
|
||||
+
|
||||
+# Haiku settings
|
||||
+
|
||||
+DEFINES = \
|
||||
+ -DBEOS_THREADS \
|
||||
+ -DGNU_ASSEMBLER \
|
||||
+ -DUSE_X86_ASM \
|
||||
+ -DUSE_MMX_ASM \
|
||||
+ -DUSE_3DNOW_ASM \
|
||||
+ -DUSE_SSE_ASM
|
||||
+
|
||||
+MESA_ASM_SOURCES = $(X86_SOURCES)
|
||||
+GLAPI_ASM_SOURCES = $(X86_API)
|
||||
+
|
||||
+CC = gcc
|
||||
+CXX = g++
|
||||
+LD = gcc
|
||||
+
|
||||
+CFLAGS = -Wall -Wno-multichar $(DEFINES)
|
||||
+CXXFLAGS = $(CFLAGS)
|
||||
+LDFLAGS +=
|
||||
+
|
||||
+# Work around aliasing bugs - developers should comment this out
|
||||
+CFLAGS += -fno-strict-aliasing
|
||||
+#CFLAGS += -std=c99
|
||||
+CXXFLAGS += -fno-strict-aliasing
|
||||
+
|
||||
+# No makedepend on Haiku, this will solve it
|
||||
+MKDEP = true
|
||||
+
|
||||
+# Debug defines
|
||||
+ifdef DEBUG
|
||||
+ CFLAGS += -g -O0
|
||||
+ LDFLAGS += -g
|
||||
+ DEFINES += -DDEBUG
|
||||
+else
|
||||
+ CFLAGS += -O3
|
||||
+endif
|
||||
+
|
||||
+# GLU settings
|
||||
+GLU_LIB_NAME = libglu.a
|
||||
+GLU_LIB = glu
|
||||
+
|
||||
+# Directories
|
||||
+SRC_DIRS = glsl mesa/x86 mapi/glapi mesa glu
|
||||
+GLU_DIRS = sgi
|
||||
+DRIVER_DIRS =
|
||||
+PROGRAM_DIRS =
|
||||
+
|
||||
+# Library/program dependencies
|
||||
+GL_LIB_DEPS =
|
||||
+OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
|
||||
+GLU_LIB_DEPS =
|
||||
+APP_LIB_DEPS = -lbe -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -l$(GLUT_LIB)
|
||||
Binary files Mesa-7.8.2/lib/libglu.a and Mesa-7.8.2-haiku/lib/libglu.a differ
|
||||
diff -rupN Mesa-7.8.2/Makefile Mesa-7.8.2-haiku/Makefile
|
||||
--- Mesa-7.8.2/Makefile 2010-06-16 21:22:57.033030144 +0000
|
||||
+++ Mesa-7.8.2-haiku/Makefile 2012-01-17 09:56:45.423886848 +0000
|
||||
@@ -84,6 +84,7 @@ freebsd \
|
||||
freebsd-dri \
|
||||
freebsd-dri-amd64 \
|
||||
freebsd-dri-x86 \
|
||||
+haiku \
|
||||
hpux10 \
|
||||
hpux10-gcc \
|
||||
hpux10-static \
|
||||
diff -rupN Mesa-7.8.2/src/gallium/auxiliary/draw/draw_private.h Mesa-7.8.2-haiku/src/gallium/auxiliary/draw/draw_private.h
|
||||
--- Mesa-7.8.2/src/gallium/auxiliary/draw/draw_private.h 2010-06-15 17:43:42.046137344 +0000
|
||||
+++ Mesa-7.8.2-haiku/src/gallium/auxiliary/draw/draw_private.h 2012-01-17 09:59:43.815005696 +0000
|
||||
@@ -70,7 +70,7 @@ struct vertex_header {
|
||||
|
||||
/* This will probably become float (*data)[4] soon:
|
||||
*/
|
||||
- float data[][4];
|
||||
+ float (*data)[4];
|
||||
};
|
||||
|
||||
/* NOTE: It should match vertex_id size above */
|
||||
diff -rupN Mesa-7.8.2/src/gallium/auxiliary/os/os_thread.h Mesa-7.8.2-haiku/src/gallium/auxiliary/os/os_thread.h
|
||||
--- Mesa-7.8.2/src/gallium/auxiliary/os/os_thread.h 2010-06-15 17:43:42.056098816 +0000
|
||||
+++ Mesa-7.8.2-haiku/src/gallium/auxiliary/os/os_thread.h 2012-01-17 10:00:38.613154816 +0000
|
||||
@@ -257,7 +257,7 @@ typedef unsigned pipe_condvar;
|
||||
* pipe_barrier
|
||||
*/
|
||||
|
||||
-#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_HAIKU)
|
||||
+#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS)
|
||||
|
||||
typedef pthread_barrier_t pipe_barrier;
|
||||
|
||||
diff -rupN Mesa-7.8.2/src/gallium/auxiliary/util/u_debug.h Mesa-7.8.2-haiku/src/gallium/auxiliary/util/u_debug.h
|
||||
--- Mesa-7.8.2/src/gallium/auxiliary/util/u_debug.h 2010-06-15 17:43:42.066584576 +0000
|
||||
+++ Mesa-7.8.2-haiku/src/gallium/auxiliary/util/u_debug.h 2012-01-17 10:02:01.553385984 +0000
|
||||
@@ -91,8 +91,10 @@ debug_printf(const char *format, ...)
|
||||
(void) format; /* silence warning */
|
||||
#endif
|
||||
}
|
||||
-
|
||||
-#endif /* !PIPE_OS_HAIKU */
|
||||
+#else /* is Haiku */
|
||||
+/* Haiku provides debug_printf in libroot with OS.h */
|
||||
+#include <OS.h>
|
||||
+#endif
|
||||
|
||||
/*
|
||||
* ... isn't portable so we need to pass arguments in parentheses.
|
||||
diff -rupN Mesa-7.8.2/src/glu/sgi/Makefile Mesa-7.8.2-haiku/src/glu/sgi/Makefile
|
||||
--- Mesa-7.8.2/src/glu/sgi/Makefile 2010-02-05 00:10:40.063963136 +0000
|
||||
+++ Mesa-7.8.2-haiku/src/glu/sgi/Makefile 2012-01-17 10:02:42.222822400 +0000
|
||||
@@ -135,13 +135,19 @@ $(TOP)/$(LIB_DIR):
|
||||
-mkdir $(TOP)/$(LIB_DIR)
|
||||
|
||||
# Make the library:
|
||||
-$(TOP)/$(LIB_DIR)/$(GLU_LIB_NAME): $(OBJECTS)
|
||||
+$(TOP)/$(LIB_DIR)/lib$(GLU_LIB).so: $(OBJECTS)
|
||||
$(MKLIB) -o $(GLU_LIB) -linker '$(CXX)' -ldflags '$(LDFLAGS)' \
|
||||
-major $(GLU_MAJOR) -minor $(GLU_MINOR) -patch $(GLU_TINY) \
|
||||
-cplusplus $(MKLIB_OPTIONS) -install $(TOP)/$(LIB_DIR) \
|
||||
-exports glu.exports -id $(INSTALL_LIB_DIR)/lib$(GLU_LIB).$(GLU_MAJOR).dylib \
|
||||
$(GLU_LIB_DEPS) $(OBJECTS)
|
||||
|
||||
+$(TOP)/$(LIB_DIR)/lib$(GLU_LIB).a: $(OBJECTS)
|
||||
+ $(MKLIB) -o $(GLU_LIB) -static -linker '$(CXX)' -ldflags '$(LDFLAGS)' \
|
||||
+ -major $(GLU_MAJOR) -minor $(GLU_MINOR) -patch $(GLU_TINY) \
|
||||
+ -cplusplus $(MKLIB_OPTIONS) -install $(TOP)/$(LIB_DIR) \
|
||||
+ -exports glu.exports -id $(INSTALL_LIB_DIR)/lib$(GLU_LIB).$(GLU_MAJOR).dylib \
|
||||
+ $(GLU_LIB_DEPS) $(OBJECTS)
|
||||
|
||||
clean:
|
||||
-rm -f *.o */*.o */*/*.o
|
||||
diff -rupN Mesa-7.8.2/src/mesa/glapi/glapi.h Mesa-7.8.2-haiku/src/mesa/glapi/glapi.h
|
||||
--- Mesa-7.8.2/src/mesa/glapi/glapi.h 2010-06-15 17:43:43.026214400 +0000
|
||||
+++ Mesa-7.8.2-haiku/src/mesa/glapi/glapi.h 2012-01-17 10:51:04.699662336 +0000
|
||||
@@ -62,7 +62,7 @@ typedef void (*_glapi_proc)(void); /* ge
|
||||
#endif
|
||||
|
||||
|
||||
-#if defined(__GNUC__)
|
||||
+#if defined(__GNUC__) && __GNUC__ > 2
|
||||
# define likely(x) __builtin_expect(!!(x), 1)
|
||||
# define unlikely(x) __builtin_expect(!!(x), 0)
|
||||
#else
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
diff --git a/src/mesa/sources.mak b/src/mesa/sources.mak
|
||||
index 63fbf58..5530230 100644
|
||||
--- a/src/mesa/sources.mak
|
||||
+++ b/src/mesa/sources.mak
|
||||
@@ -277,7 +277,6 @@ ASM_C_FILES = \
|
||||
$(SRCDIR)/x86/x86_xform.c \
|
||||
$(SRCDIR)/x86/3dnow.c \
|
||||
$(SRCDIR)/x86/sse.c \
|
||||
- $(SRCDIR)/x86/rtasm/x86sse.c \
|
||||
$(SRCDIR)/sparc/sparc.c \
|
||||
$(SRCDIR)/x86-64/x86-64.c
|
||||
|
||||
diff --git a/src/mesa/tnl/t_vertex_sse.c b/src/mesa/tnl/t_vertex_sse.c
|
||||
index e0141c3..1afaf78 100644
|
||||
--- a/src/mesa/tnl/t_vertex_sse.c
|
||||
+++ b/src/mesa/tnl/t_vertex_sse.c
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
#if defined(USE_SSE_ASM)
|
||||
|
||||
-#include "x86/rtasm/x86sse.h"
|
||||
+#include "rtasm/rtasm_x86sse.h"
|
||||
#include "x86/common_x86_asm.h"
|
||||
|
||||
|
||||
@@ -356,7 +356,7 @@ static GLboolean build_vertex_emit( struct x86_program *p )
|
||||
struct x86_reg vp0 = x86_make_reg(file_XMM, 1);
|
||||
struct x86_reg vp1 = x86_make_reg(file_XMM, 2);
|
||||
struct x86_reg temp2 = x86_make_reg(file_XMM, 3);
|
||||
- GLubyte *fixup, *label;
|
||||
+ GLuint fixup, label;
|
||||
|
||||
/* Push a few regs?
|
||||
*/
|
||||
@@ -658,7 +658,8 @@ void _tnl_generate_sse_emit( struct gl_context *ctx )
|
||||
p.identity = x86_make_reg(file_XMM, 6);
|
||||
p.chan0 = x86_make_reg(file_XMM, 7);
|
||||
|
||||
- if (!x86_init_func_size(&p.func, MAX_SSE_CODE_SIZE)) {
|
||||
+ x86_init_func_size(&p.func, MAX_SSE_CODE_SIZE);
|
||||
+ if (p.func.caps == 0) {
|
||||
vtx->emit = NULL;
|
||||
return;
|
||||
}
|
||||
+110
@@ -0,0 +1,110 @@
|
||||
#!/bin/bash
|
||||
# Mesa-O-Matic
|
||||
# Copyright 2011, Alexander von Gluck IV
|
||||
|
||||
# This script creates an optional package containing the
|
||||
# the headers and binary code needed by the opengl kit
|
||||
# to link libGL.so
|
||||
|
||||
# This script is run against a *COMPILED* Mesa source tree
|
||||
|
||||
echo " Welcome to Mesa-O-Matic!"
|
||||
echo "-=-=-=-=-=-=-=-=-=-=-=-=-="
|
||||
echo ""
|
||||
|
||||
# These are the Mesa headers and libraries used by the opengl kit
|
||||
# Headers are probed for dependencies, only specify ones referenced
|
||||
# by the opengl kit.
|
||||
MESA_PRIVATE_HEADERS="glheader.h glapi.h glapitable.h glapitemp.h glapi_priv.h context.h driverfuncs.h meta.h colormac.h buffers.h framebuffer.h renderbuffer.h state.h version.h swrast.h swrast_setup.h tnl.h t_context.h t_pipeline.h vbo.h extensions.h s_spantemp.h s_renderbuffer.h s_context.h formats.h cpuinfo.h"
|
||||
|
||||
DEBUG=0
|
||||
|
||||
#######################################################################
|
||||
# END CONFIG DATA, Dragons below!
|
||||
#######################################################################
|
||||
|
||||
if [[ $( uname ) != "Haiku" ]]; then
|
||||
echo "*************************************"
|
||||
echo " I need to be run on a Haiku system!!"
|
||||
echo "*************************************"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z $1 ]]; then
|
||||
echo ""
|
||||
echo "Usage: $0 <compiled mesa location>"
|
||||
echo ""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
MESA_TOP="$1"
|
||||
|
||||
GCC_VER=`gcc -v 2>&1 | tail -1 | awk '{print $3}' | cut -d. -f1`
|
||||
MESA_VER=`cat $MESA_TOP/Makefile |grep VERSION\= | cut -d= -f2`
|
||||
|
||||
DATESTAMP=`date +"%Y-%m-%d"`
|
||||
|
||||
echo "Bundling gcc$GCC_VER build of Mesa $MESA_VER..."
|
||||
|
||||
cd $MESA_TOP
|
||||
|
||||
#######################################################################
|
||||
# Create Mesa optional pacakge
|
||||
|
||||
findInTree() {
|
||||
RESULT=`find . -name "$1"`
|
||||
if [[ $? -ne 0 || -z $RESULT ]]; then
|
||||
echo "$i"
|
||||
exit 1
|
||||
fi
|
||||
echo $RESULT
|
||||
}
|
||||
|
||||
# Directories to search for matching headers
|
||||
MESA_INCLUDES="-I./include -I./src -I./src/mapi -I./src/mesa"
|
||||
MESA_DEFINES="-DUSE_X86_ASM -DUSE_PPC_ASM -DUSE_SPARC_ASM"
|
||||
MESA_DEFINES="$MESA_DEFINES -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DUSE_X86_64_ASM"
|
||||
|
||||
ZIP_HEADERS=""
|
||||
echo "Collecting required Mesa private headers..."
|
||||
for i in $MESA_PRIVATE_HEADERS
|
||||
do
|
||||
FOUND=$(findInTree $i)
|
||||
if [[ $GCC_VER -eq 2 ]]; then
|
||||
# gcc2 isn't very good at -MM
|
||||
setgcc gcc4
|
||||
fi
|
||||
HEADERS_RAW=`gcc -MM $MESA_INCLUDES $MESA_DEFINES $FOUND`
|
||||
if [[ $GCC_VER -eq 2 ]]; then
|
||||
setgcc gcc2
|
||||
fi
|
||||
|
||||
for y in $( echo "$HEADERS_RAW" | cut -d':' -f2 | sed 's/\\//g' | tr -d '\n' )
|
||||
do
|
||||
CLEAN_HEADER=$( echo "$y" | grep -v "include/GL/" )
|
||||
ZIP_HEADERS="$ZIP_HEADERS $CLEAN_HEADER"
|
||||
done
|
||||
done
|
||||
|
||||
echo "Collecting required Mesa libraries..."
|
||||
rm -rf lib.haiku
|
||||
mkdir -p lib.haiku
|
||||
for i in $( find . -name "*.a" )
|
||||
do
|
||||
cp $i lib.haiku/
|
||||
done
|
||||
|
||||
if [[ $DEBUG -eq 0 ]]; then
|
||||
echo "Stripping debug symbols from Mesa libraries..."
|
||||
find lib.haiku -exec strip --strip-debug {} \; ;
|
||||
MESADBG=""
|
||||
else
|
||||
MESADBG="dbg"
|
||||
fi
|
||||
|
||||
echo "Creating Mesa OptionalPackage..."
|
||||
PLATFORM=$( uname -m )
|
||||
ZIP_FILENAME="../mesa-${MESA_VER}${MESADBG}-x86-gcc${GCC_VER}-${DATESTAMP}.zip"
|
||||
zip -r -9 $ZIP_FILENAME $ZIP_HEADERS ./include/GL/* ./lib.haiku/*
|
||||
|
||||
echo "Great Success! $ZIP_FILENAME created."
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
This supybot plugin adds commands useful to Haiku developers.
|
||||
|
||||
+64
@@ -0,0 +1,64 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
###
|
||||
# Copyright (c) 2012, François Revol
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright notice,
|
||||
# this list of conditions, and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above copyright notice,
|
||||
# this list of conditions, and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# * Neither the name of the author of this software nor the name of
|
||||
# contributors to this software may be used to endorse or promote products
|
||||
# derived from this software without specific prior written consent.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT OWNER OR CONTRIBUTORS 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.
|
||||
###
|
||||
|
||||
"""
|
||||
A plugin providing helpers for Haiku developers.
|
||||
"""
|
||||
|
||||
import supybot
|
||||
import supybot.world as world
|
||||
|
||||
# Use this for the version of this plugin. You may wish to put a CVS keyword
|
||||
# in here if you're keeping the plugin in CVS or some similar system.
|
||||
__version__ = "0.1"
|
||||
|
||||
__author__ = supybot.Author('François Revol', 'mmu_man', '[email protected]')
|
||||
|
||||
# This is a dictionary mapping supybot.Author instances to lists of
|
||||
# contributions.
|
||||
__contributors__ = {}
|
||||
|
||||
# This is a url where the most recent plugin package can be downloaded.
|
||||
__url__ = 'FIXME:http://github.com/mmueller/supybot-git'
|
||||
|
||||
import config
|
||||
import plugin
|
||||
reload(plugin) # In case we're being reloaded.
|
||||
# Add more reloads here if you add third-party modules and want them to be
|
||||
# reloaded when this plugin is reloaded. Don't forget to import them as well!
|
||||
|
||||
if world.testing:
|
||||
import test
|
||||
|
||||
Class = plugin.Class
|
||||
configure = config.configure
|
||||
|
||||
|
||||
# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:
|
||||
Vendored
+50
@@ -0,0 +1,50 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
###
|
||||
# Copyright (c) 2012, François Revol
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright notice,
|
||||
# this list of conditions, and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above copyright notice,
|
||||
# this list of conditions, and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# * Neither the name of the author of this software nor the name of
|
||||
# contributors to this software may be used to endorse or promote products
|
||||
# derived from this software without specific prior written consent.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT OWNER OR CONTRIBUTORS 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.
|
||||
###
|
||||
|
||||
import supybot.conf as conf
|
||||
import supybot.registry as registry
|
||||
|
||||
def configure(advanced):
|
||||
# This will be called by supybot to configure this module. advanced is
|
||||
# a bool that specifies whether the user identified himself as an advanced
|
||||
# user or not. You should effect your configuration by manipulating the
|
||||
# registry as appropriate.
|
||||
from supybot.questions import expect, anything, something, yn
|
||||
conf.registerPlugin('Haiku', True)
|
||||
|
||||
Haiku = conf.registerPlugin('Haiku')
|
||||
conf.registerChannelValue(Haiku, 'format',
|
||||
registry.String(str(conf.supybot.reply.format.time()), """Determines the
|
||||
format string for timestamps. Refer to the Python documentation for the
|
||||
time module to see what formats are accepted. If you set this variable to
|
||||
the empty string, the timestamp will not be shown."""))
|
||||
|
||||
|
||||
# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:
|
||||
Vendored
+248
@@ -0,0 +1,248 @@
|
||||
errors = {
|
||||
'B_NO_INIT': {'expr': 'B_GENERAL_ERROR_BASE + 13', 'str': 'Initialization failed', 'value': 2147483661},
|
||||
'EISDIR': {'expr': 'B_IS_A_DIRECTORY', 'str': 'Is a directory', 'value': 2147508233},
|
||||
'EPROTONOSUPPORT': {'expr': 'B_POSIX_ERROR_BASE + 19', 'str': 'Protocol not supported', 'value': 2147512339},
|
||||
'ETXTBSY': {'expr': 'B_POSIX_ERROR_BASE + 59', 'str': 'Text file busy', 'value': 2147512379},
|
||||
'B_DEV_FORMAT_ERROR': {'expr': 'B_DEVICE_ERROR_BASE + 5', 'str': 'Device format error', 'value': 2147524613},
|
||||
'B_POSIX_ENOMEM': {'expr': 'B_POSIX_ERROR_BASE + 0', 'str': 'Out of memory', 'value': 2147512320},
|
||||
'ENXIO': {'expr': 'B_POSIX_ERROR_BASE + 11', 'str': 'Device not accessible', 'value': 2147512331},
|
||||
'B_NOT_AN_EXECUTABLE': {'expr': 'B_OS_ERROR_BASE + 0x302', 'str': 'Not an executable', 'value': 2147488514},
|
||||
'ETIME': {'expr': 'B_POSIX_ERROR_BASE + 58', 'str': 'STREAM ioctl() timeout', 'value': 2147512378},
|
||||
'B_MEDIA_REALTIME_UNAVAILABLE': {'expr': 'B_MEDIA_ERROR_BASE + 130', 'str': 'Realtime unavailable', 'value': 2147500162},
|
||||
'ENOTTY': {'expr': 'B_POSIX_ERROR_BASE + 10', 'str': 'Not a tty', 'value': 2147512330},
|
||||
'ENAMETOOLONG': {'expr': 'B_NAME_TOO_LONG', 'str': 'File name too long', 'value': 2147508228},
|
||||
'B_DEV_SEEK_ERROR': {'expr': 'B_DEVICE_ERROR_BASE + 8', 'str': 'Device seek error', 'value': 2147524616},
|
||||
'B_CANCELED': {'expr': 'B_GENERAL_ERROR_BASE + 12', 'str': 'Operation canceled', 'value': 2147483660},
|
||||
'EAGAIN': {'expr': 'B_WOULD_BLOCK', 'str': 'Operation would block', 'value': 2147483659},
|
||||
'B_ERRORS_END': {'expr': 'B_GENERAL_ERROR_BASE + 0xffff', 'str': '', 'value': 2147549183},
|
||||
'ENOLINK': {'expr': 'B_POSIX_ERROR_BASE + 53', 'str': 'Reserved', 'value': 2147512373},
|
||||
'B_IO_ERROR': {'expr': 'B_GENERAL_ERROR_BASE + 1', 'str': 'I/O error', 'value': 2147483649},
|
||||
'ECONNRESET': {'expr': 'B_POSIX_ERROR_BASE + 28', 'str': 'Connection reset by peer', 'value': 2147512348},
|
||||
'B_MAIL_NO_DAEMON': {'expr': 'B_MAIL_ERROR_BASE + 0', 'str': 'No mail daemon', 'value': 2147516416},
|
||||
'B_MEDIA_SYSTEM_FAILURE': {'expr': 'B_MEDIA_ERROR_BASE + 100', 'str': 'System failure', 'value': 2147500132},
|
||||
'EMLINK': {'expr': 'B_POSIX_ERROR_BASE + 5', 'str': 'Too many links', 'value': 2147512325},
|
||||
'EINPROGRESS': {'expr': 'B_POSIX_ERROR_BASE + 36', 'str': 'Operation now in progress', 'value': 2147512356},
|
||||
'ENOTSOCK': {'expr': 'B_POSIX_ERROR_BASE + 44', 'str': 'Socket operation on non-socket', 'value': 2147512364},
|
||||
'B_DEV_FIFO_UNDERRUN': {'expr': 'B_DEVICE_ERROR_BASE + 27', 'str': 'Device FIFO underrun', 'value': 2147524635},
|
||||
'B_NAME_IN_USE': {'expr': 'B_GENERAL_ERROR_BASE + 8', 'str': 'Name in use', 'value': 2147483656},
|
||||
'ESHUTDOWN': {'expr': 'B_POSIX_ERROR_BASE + 31', 'str': "Can't send after socket shutdown", 'value': 2147512351},
|
||||
'B_DIRECTORY_NOT_EMPTY': {'expr': 'B_STORAGE_ERROR_BASE + 6', 'str': 'Directory not empty', 'value': 2147508230},
|
||||
'B_DEV_CRC_ERROR': {'expr': 'B_DEVICE_ERROR_BASE + 20', 'str': 'Device check-sum error', 'value': 2147524628},
|
||||
'B_BAD_HANDLER': {'expr': 'B_APP_ERROR_BASE + 3', 'str': 'Bad handler', 'value': 2147491843},
|
||||
'B_DEV_TIMEOUT': {'expr': 'B_DEVICE_ERROR_BASE + 6', 'str': 'Device timeout', 'value': 2147524614},
|
||||
'ENOLCK': {'expr': 'B_POSIX_ERROR_BASE + 8', 'str': 'No record locks available', 'value': 2147512328},
|
||||
'B_LAUNCH_FAILED_EXECUTABLE': {'expr': 'B_APP_ERROR_BASE + 10', 'str': 'File is mistakenly marked as executable', 'value': 2147491850},
|
||||
'B_NO_MORE_TEAMS': {'expr': 'B_OS_ERROR_BASE + 0x104', 'str': 'No more teams', 'value': 2147488004},
|
||||
'B_MAIL_ACCESS_ERROR': {'expr': 'B_MAIL_ERROR_BASE + 4', 'str': 'Mail access error', 'value': 2147516420},
|
||||
'EDEADLK': {'expr': 'B_POSIX_ERROR_BASE + 3', 'str': 'Resource deadlock', 'value': 2147512323},
|
||||
'EFBIG': {'expr': 'B_POSIX_ERROR_BASE + 4', 'str': 'File too large', 'value': 2147512324},
|
||||
'B_MEDIA_APP_ALREADY_REGISTERED': {'expr': 'B_MEDIA_ERROR_BASE + 111', 'str': 'Application already registered', 'value': 2147500143},
|
||||
'ECANCELED': {'expr': 'B_POSIX_ERROR_BASE + 47', 'str': 'Operation canceled', 'value': 2147512367},
|
||||
'B_BAD_TEAM_ID': {'expr': 'B_OS_ERROR_BASE + 0x103', 'str': 'Operation on invalid team', 'value': 2147488003},
|
||||
'B_DEV_INVALID_PIPE': {'expr': 'B_DEVICE_ERROR_BASE + 19', 'str': '', 'value': 2147524627},
|
||||
'EEXIST': {'expr': 'B_FILE_EXISTS', 'str': 'File or Directory already exists', 'value': 2147508226},
|
||||
'B_AMBIGUOUS_APP_LAUNCH': {'expr': 'B_APP_ERROR_BASE + 6', 'str': 'Ambiguous app launch', 'value': 2147491846},
|
||||
'EMSGSIZE': {'expr': 'B_POSIX_ERROR_BASE + 42', 'str': 'Message too long', 'value': 2147512362},
|
||||
'EPROTO': {'expr': 'B_POSIX_ERROR_BASE + 57', 'str': 'Protocol error', 'value': 2147512377},
|
||||
'B_LAST_BUFFER_ERROR': {'expr': 'B_MEDIA_ERROR_BASE + 7', 'str': 'Last buffer', 'value': 2147500039},
|
||||
'B_BAD_THREAD_ID': {'expr': 'B_OS_ERROR_BASE + 0x100', 'str': 'Bad thread ID', 'value': 2147488000},
|
||||
'EOPNOTSUPP': {'expr': 'B_POSIX_ERROR_BASE + 43', 'str': 'Operation not supported', 'value': 2147512363},
|
||||
'EBUSY': {'expr': 'B_BUSY', 'str': 'Device/File/Resource busy', 'value': 2147483662},
|
||||
'B_MEDIA_ADDON_RESTRICTED': {'expr': 'B_MEDIA_ERROR_BASE + 126', 'str': 'Media addon restricted', 'value': 2147500158},
|
||||
'B_MEDIA_BAD_DESTINATION': {'expr': 'B_MEDIA_ERROR_BASE + 118', 'str': 'Bad destination', 'value': 2147500150},
|
||||
'B_ERROR': {'expr': '', 'str': 'General system error', 'value': -1},
|
||||
'B_LAUNCH_FAILED_NO_PREFERRED_APP': {'expr': 'B_APP_ERROR_BASE + 13', 'str': 'There is no preferred application for this type of file', 'value': 2147491853},
|
||||
'EADDRNOTAVAIL': {'expr': 'B_POSIX_ERROR_BASE + 23', 'str': "Can't assign requested address", 'value': 2147512343},
|
||||
'B_MEDIA_BAD_NODE': {'expr': 'B_MEDIA_ERROR_BASE + 101', 'str': 'Bad media node', 'value': 2147500133},
|
||||
'B_DEV_PENDING': {'expr': 'B_DEVICE_ERROR_BASE + 28', 'str': 'Device pending', 'value': 2147524636},
|
||||
'B_MISMATCHED_VALUES': {'expr': 'B_GENERAL_ERROR_BASE + 6', 'str': 'Mismatched values passed to function', 'value': 2147483654},
|
||||
'B_CROSS_DEVICE_LINK': {'expr': 'B_STORAGE_ERROR_BASE + 11', 'str': 'Cross-device link', 'value': 2147508235},
|
||||
'B_NO_MORE_SEMS': {'expr': 'B_OS_ERROR_BASE + 1', 'str': 'No more semaphores', 'value': 2147487745},
|
||||
'EPERM': {'expr': 'B_NOT_ALLOWED', 'str': 'Operation not allowed', 'value': 2147483663},
|
||||
'B_WOULD_BLOCK': {'expr': 'B_GENERAL_ERROR_BASE + 11', 'str': 'Operation would block', 'value': 2147483659},
|
||||
'B_DEV_CONFIGURATION_ERROR': {'expr': 'B_DEVICE_ERROR_BASE + 16', 'str': 'Configuration error', 'value': 2147524624},
|
||||
'B_MEDIA_ADDON_DISABLED': {'expr': 'B_MEDIA_ERROR_BASE + 123', 'str': 'Media addon disabled', 'value': 2147500155},
|
||||
'ENODATA': {'expr': 'B_POSIX_ERROR_BASE + 52', 'str': 'No message available', 'value': 2147512372},
|
||||
'B_BAD_PORT_ID': {'expr': 'B_OS_ERROR_BASE + 0x200', 'str': 'Bad port ID', 'value': 2147488256},
|
||||
'B_TIMED_OUT': {'expr': 'B_GENERAL_ERROR_BASE + 9', 'str': 'Operation timed out', 'value': 2147483657},
|
||||
'B_NOT_A_DIRECTORY': {'expr': 'B_STORAGE_ERROR_BASE + 5', 'str': 'Not a directory', 'value': 2147508229},
|
||||
'ENOSPC': {'expr': 'B_DEVICE_FULL', 'str': 'No space left on device', 'value': 2147508231},
|
||||
'EPROTOTYPE': {'expr': 'B_POSIX_ERROR_BASE + 18', 'str': 'Protocol wrong type for socket', 'value': 2147512338},
|
||||
'B_MEDIA_CHANGE_IN_PROGRESS': {'expr': 'B_MEDIA_ERROR_BASE + 124', 'str': 'Change in progress', 'value': 2147500156},
|
||||
'EISCONN': {'expr': 'B_POSIX_ERROR_BASE + 29', 'str': 'Socket is already connected', 'value': 2147512349},
|
||||
'B_MESSAGE_TO_SELF': {'expr': 'B_APP_ERROR_BASE + 2', 'str': "Can't send message to self", 'value': 2147491842},
|
||||
'B_DEV_UNEXPECTED_PID': {'expr': 'B_DEVICE_ERROR_BASE + 23', 'str': '', 'value': 2147524631},
|
||||
'B_MEDIA_CANNOT_SEEK': {'expr': 'B_MEDIA_ERROR_BASE + 109', 'str': 'Cannot seek', 'value': 2147500141},
|
||||
'ERANGE': {'expr': 'B_POSIX_ERROR_BASE + 17', 'str': 'Range Error', 'value': 2147512337},
|
||||
'B_BAD_VALUE': {'expr': 'B_GENERAL_ERROR_BASE + 5', 'str': 'Invalid Argument', 'value': 2147483653},
|
||||
'ESTALE': {'expr': 'B_POSIX_ERROR_BASE + 40', 'str': 'Stale file handle', 'value': 2147512360},
|
||||
'B_RESOURCE_UNAVAILABLE': {'expr': 'B_MEDIA_ERROR_BASE + 3', 'str': 'Resource unavailable', 'value': 2147500035},
|
||||
'ENOPROTOOPT': {'expr': 'B_POSIX_ERROR_BASE + 34', 'str': 'Protocol option not available', 'value': 2147512354},
|
||||
'B_DEV_FIFO_OVERRUN': {'expr': 'B_DEVICE_ERROR_BASE + 26', 'str': 'Device FIFO overrun', 'value': 2147524634},
|
||||
'B_DEV_RESOURCE_CONFLICT': {'expr': 'B_DEVICE_ERROR_BASE + 15', 'str': 'Resource conflict', 'value': 2147524623},
|
||||
'ENOATTR': {'expr': 'B_POSIX_ERROR_BASE + 60', 'str': 'No such attribute', 'value': 2147512380},
|
||||
'B_DEVICE_FULL': {'expr': 'B_STORAGE_ERROR_BASE + 7', 'str': 'No space left on device', 'value': 2147508231},
|
||||
'B_NO_PRINT_SERVER': {'expr': 'B_PRINT_ERROR_BASE + 0', 'str': 'No print server', 'value': 2147520512},
|
||||
'ELOOP': {'expr': 'B_LINK_LIMIT', 'str': 'Too many symbolic links', 'value': 2147508236},
|
||||
'ECHILD': {'expr': 'B_POSIX_ERROR_BASE + 2', 'str': 'No child process', 'value': 2147512322},
|
||||
'B_BUFFER_NOT_AVAILABLE': {'expr': 'B_MEDIA_ERROR_BASE + 6', 'str': 'Buffer not available', 'value': 2147500038},
|
||||
'ENOBUFS': {'expr': 'B_POSIX_ERROR_BASE + 35', 'str': 'No buffer space available', 'value': 2147512355},
|
||||
'B_RESOURCE_NOT_FOUND': {'expr': 'B_MEDIA_ERROR_BASE + 2', 'str': 'Resource not found', 'value': 2147500034},
|
||||
'EDESTADDRREQ': {'expr': 'B_POSIX_ERROR_BASE + 48', 'str': 'Destination address required', 'value': 2147512368},
|
||||
'B_MEDIA_BUFFERS_NOT_RECLAIMED': {'expr': 'B_MEDIA_ERROR_BASE + 114', 'str': 'Buffers not reclaimed', 'value': 2147500146},
|
||||
'B_FILE_ERROR': {'expr': 'B_STORAGE_ERROR_BASE + 0', 'str': 'Bad file descriptor', 'value': 2147508224},
|
||||
'B_ILLEGAL_DATA': {'expr': 'B_TRANSLATION_ERROR_BASE + 2', 'str': 'Illegal data', 'value': 2147502082},
|
||||
'EINTR': {'expr': 'B_INTERRUPTED', 'str': 'Interrupted system call', 'value': 2147483658},
|
||||
'B_MEDIA_NO_HANDLER': {'expr': 'B_MEDIA_ERROR_BASE + 127', 'str': 'No handler', 'value': 2147500159},
|
||||
'ETIMEDOUT': {'expr': 'B_TIMED_OUT', 'str': 'Operation timed out', 'value': 2147483657},
|
||||
'ENOSYS': {'expr': 'B_POSIX_ERROR_BASE + 9', 'str': 'Function not implemented', 'value': 2147512329},
|
||||
'B_DONT_DO_THAT': {'expr': 'B_GENERAL_ERROR_BASE + 17', 'str': "Don't do that!", 'value': 2147483665},
|
||||
'B_DEV_UNREADABLE': {'expr': 'B_DEVICE_ERROR_BASE + 4', 'str': 'Device unreadable', 'value': 2147524612},
|
||||
'B_MEDIA_BAD_BUFFER': {'expr': 'B_MEDIA_ERROR_BASE + 104', 'str': 'Bad buffer', 'value': 2147500136},
|
||||
'B_MAIL_NO_RECIPIENT': {'expr': 'B_MAIL_ERROR_BASE + 6', 'str': 'No mail recipient', 'value': 2147516422},
|
||||
'B_LAUNCH_FAILED_APP_IN_TRASH': {'expr': 'B_APP_ERROR_BASE + 12', 'str': 'Application is in the trash', 'value': 2147491852},
|
||||
'B_FILE_NOT_FOUND': {'expr': 'B_STORAGE_ERROR_BASE + 1', 'str': 'No such file or directory', 'value': 2147508225},
|
||||
'B_NO_MORE_THREADS': {'expr': 'B_OS_ERROR_BASE + 0x101', 'str': 'No more threads', 'value': 2147488001},
|
||||
'B_MAIL_WRONG_PASSWORD': {'expr': 'B_MAIL_ERROR_BASE + 2', 'str': 'Wrong password (mail)', 'value': 2147516418},
|
||||
'B_NO_MEMORY': {'expr': 'B_GENERAL_ERROR_BASE + 0', 'str': 'Out of memory', 'value': 2147483648},
|
||||
'EALREADY': {'expr': 'B_POSIX_ERROR_BASE + 37', 'str': 'Operation already in progress', 'value': 2147512357},
|
||||
'ENODEV': {'expr': 'B_POSIX_ERROR_BASE + 7', 'str': 'No such device', 'value': 2147512327},
|
||||
'E2BIG': {'expr': 'B_POSIX_ERROR_BASE + 1', 'str': 'Argument too big', 'value': 2147512321},
|
||||
'B_LAUNCH_FAILED_APP_NOT_FOUND': {'expr': 'B_APP_ERROR_BASE + 11', 'str': 'Application could not be found', 'value': 2147491851},
|
||||
'B_OK': {'expr': '', 'str': 'No Error', 'value': 0},
|
||||
'EMULTIHOP': {'expr': 'B_POSIX_ERROR_BASE + 51', 'str': 'Reserved', 'value': 2147512371},
|
||||
'EMFILE': {'expr': 'B_NO_MORE_FDS', 'str': 'Too many open files', 'value': 2147508234},
|
||||
'B_MEDIA_TIME_SOURCE_BUSY': {'expr': 'B_MEDIA_ERROR_BASE + 116', 'str': 'Time source busy', 'value': 2147500148},
|
||||
'B_NO_ERROR': {'expr': '', 'str': 'No Error', 'value': 0},
|
||||
'EHOSTDOWN': {'expr': 'B_POSIX_ERROR_BASE + 45', 'str': '', 'value': 2147512365},
|
||||
'B_RESULT_NOT_REPRESENTABLE': {'expr': 'ERANGE', 'str': '', 'value': 2147512337},
|
||||
'B_DEV_DATA_UNDERRUN': {'expr': 'B_DEVICE_ERROR_BASE + 25', 'str': 'Device data underrun', 'value': 2147524633},
|
||||
'B_FILE_TOO_LARGE': {'expr': 'EFBIG', 'str': '', 'value': 2147512324},
|
||||
'B_BAD_MIME_SNIFFER_RULE': {'expr': 'B_APP_ERROR_BASE + 15', 'str': 'Bad sniffer rule', 'value': 2147491855},
|
||||
'EDOM': {'expr': 'B_POSIX_ERROR_BASE + 16', 'str': 'Numerical argument out of range', 'value': 2147512336},
|
||||
'ESIGPARM': {'expr': 'B_POSIX_ERROR_BASE + 15', 'str': 'Signal Error', 'value': 2147512335},
|
||||
'B_PARTITION_TOO_SMALL': {'expr': 'B_STORAGE_ERROR_BASE + 15', 'str': 'Partition too small to contain filesystem', 'value': 2147508239},
|
||||
'ENFILE': {'expr': 'B_POSIX_ERROR_BASE + 6', 'str': 'File table overflow', 'value': 2147512326},
|
||||
'EBADMSG': {'expr': 'B_POSIX_ERROR_BASE + 46', 'str': 'Bad message', 'value': 2147512366},
|
||||
'B_BAD_REPLY': {'expr': 'B_APP_ERROR_BASE + 0', 'str': 'Invalid or unwanted reply', 'value': 2147491840},
|
||||
'EADDRINUSE': {'expr': 'B_POSIX_ERROR_BASE + 22', 'str': 'Address already in use', 'value': 2147512342},
|
||||
'B_NOT_SUPPORTED': {'expr': 'EOPNOTSUPP', 'str': '', 'value': 2147512363},
|
||||
'EXDEV': {'expr': 'B_CROSS_DEVICE_LINK', 'str': 'Cross-device link', 'value': 2147508235},
|
||||
'B_DEV_READ_ERROR': {'expr': 'B_DEVICE_ERROR_BASE + 10', 'str': 'Device read error', 'value': 2147524618},
|
||||
'B_MISSING_LIBRARY': {'expr': 'B_OS_ERROR_BASE + 0x303', 'str': 'Missing library', 'value': 2147488515},
|
||||
'B_DEV_ID_ERROR': {'expr': 'B_DEVICE_ERROR_BASE + 9', 'str': 'Device ID error', 'value': 2147524617},
|
||||
'B_MEDIA_BAD_SOURCE': {'expr': 'B_MEDIA_ERROR_BASE + 117', 'str': 'Bad source', 'value': 2147500149},
|
||||
'B_NO_TRANSLATOR': {'expr': 'B_TRANSLATION_ERROR_BASE + 1', 'str': 'No translator found', 'value': 2147502081},
|
||||
'B_DUPLICATE_REPLY': {'expr': 'B_APP_ERROR_BASE + 1', 'str': 'Duplicate reply', 'value': 2147491841},
|
||||
'ENOMEM': {'expr': 'B_NO_MEMORY', 'str': 'Out of memory', 'value': 2147483648},
|
||||
'ENOSR': {'expr': 'B_POSIX_ERROR_BASE + 54', 'str': 'No STREAM resources', 'value': 2147512374},
|
||||
'B_DEV_DATA_OVERRUN': {'expr': 'B_DEVICE_ERROR_BASE + 24', 'str': 'Device data overrun', 'value': 2147524632},
|
||||
'B_BUSY': {'expr': 'B_GENERAL_ERROR_BASE + 14', 'str': 'Device/File/Resource busy', 'value': 2147483662},
|
||||
'B_NOT_ALLOWED': {'expr': 'B_GENERAL_ERROR_BASE + 15', 'str': 'Operation not allowed', 'value': 2147483663},
|
||||
'B_MEDIA_BAD_CLIP_FORMAT': {'expr': 'B_MEDIA_ERROR_BASE + 121', 'str': 'Bad clipping format', 'value': 2147500153},
|
||||
'B_FILE_EXISTS': {'expr': 'B_STORAGE_ERROR_BASE + 2', 'str': 'File or Directory already exists', 'value': 2147508226},
|
||||
'B_MEDIA_CANNOT_CHANGE_RUN_MODE': {'expr': 'B_MEDIA_ERROR_BASE + 110', 'str': 'Cannot change run mode', 'value': 2147500142},
|
||||
'ENOTCONN': {'expr': 'B_POSIX_ERROR_BASE + 30', 'str': 'Socket is not connected', 'value': 2147512350},
|
||||
'B_NAME_NOT_FOUND': {'expr': 'B_GENERAL_ERROR_BASE + 7', 'str': 'Name not found', 'value': 2147483655},
|
||||
'EFAULT': {'expr': 'B_BAD_ADDRESS', 'str': 'Bad address', 'value': 2147488513},
|
||||
'EPIPE': {'expr': 'B_BUSTED_PIPE', 'str': 'Broken pipe', 'value': 2147508237},
|
||||
'ENETUNREACH': {'expr': 'B_POSIX_ERROR_BASE + 25', 'str': 'Network is unreachable', 'value': 2147512345},
|
||||
'B_MEDIA_TIME_SOURCE_STOPPED': {'expr': 'B_MEDIA_ERROR_BASE + 115', 'str': 'Time source stopped', 'value': 2147500147},
|
||||
'B_NAME_TOO_LONG': {'expr': 'B_STORAGE_ERROR_BASE + 4', 'str': 'File name too long', 'value': 2147508228},
|
||||
'B_READ_ONLY_DEVICE': {'expr': 'B_STORAGE_ERROR_BASE + 8', 'str': 'Read-only file system', 'value': 2147508232},
|
||||
'B_MEDIA_NODE_ALREADY_EXISTS': {'expr': 'B_MEDIA_ERROR_BASE + 107', 'str': 'Media node already exists', 'value': 2147500139},
|
||||
'B_MAIL_UNKNOWN_USER': {'expr': 'B_MAIL_ERROR_BASE + 1', 'str': 'Unknown mail user', 'value': 2147516417},
|
||||
'ECONNABORTED': {'expr': 'B_POSIX_ERROR_BASE + 27', 'str': 'Software caused connection abort', 'value': 2147512347},
|
||||
'EDQUOT': {'expr': 'B_POSIX_ERROR_BASE + 49', 'str': 'Reserved', 'value': 2147512369},
|
||||
'ENOMSG': {'expr': 'B_POSIX_ERROR_BASE + 39', 'str': 'No message of desired type', 'value': 2147512359},
|
||||
'ENOENT': {'expr': 'B_ENTRY_NOT_FOUND', 'str': 'No such file or directory', 'value': 2147508227},
|
||||
'B_SERVER_NOT_FOUND': {'expr': 'B_MEDIA_ERROR_BASE + 1', 'str': 'Server not found', 'value': 2147500033},
|
||||
'B_NOT_INITIALIZED': {'expr': 'B_GENERAL_ERROR_BASE + 13', 'str': '', 'value': 2147483661},
|
||||
'B_UNSUPPORTED': {'expr': 'B_STORAGE_ERROR_BASE + 14', 'str': 'Operation not supported', 'value': 2147508238},
|
||||
'B_DEV_WRITE_ERROR': {'expr': 'B_DEVICE_ERROR_BASE + 11', 'str': 'Device write error', 'value': 2147524619},
|
||||
'B_MAIL_INVALID_MAIL': {'expr': 'B_MAIL_ERROR_BASE + 7', 'str': 'Invalid mail', 'value': 2147516423},
|
||||
'ESPIPE': {'expr': 'B_POSIX_ERROR_BASE + 12', 'str': 'Seek not allowed on file descriptor', 'value': 2147512332},
|
||||
'B_LAUNCH_FAILED': {'expr': 'B_APP_ERROR_BASE + 5', 'str': 'Launch failed', 'value': 2147491845},
|
||||
'B_INTERRUPTED': {'expr': 'B_GENERAL_ERROR_BASE + 10', 'str': 'Interrupted system call', 'value': 2147483658},
|
||||
'B_DEV_NO_MEMORY': {'expr': 'B_DEVICE_ERROR_BASE + 1', 'str': 'No device memory', 'value': 2147524609},
|
||||
'B_BUSTED_PIPE': {'expr': 'B_STORAGE_ERROR_BASE + 13', 'str': 'Broken pipe', 'value': 2147508237},
|
||||
'B_DEVICE_NOT_FOUND': {'expr': 'ENODEV', 'str': '', 'value': 2147512327},
|
||||
'B_NO_MORE_FDS': {'expr': 'B_STORAGE_ERROR_BASE + 10', 'str': 'Too many open files', 'value': 2147508234},
|
||||
'B_STREAM_NOT_FOUND': {'expr': 'B_MEDIA_ERROR_BASE + 0', 'str': 'Stream not found', 'value': 2147500032},
|
||||
'B_MAIL_UNKNOWN_HOST': {'expr': 'B_MAIL_ERROR_BASE + 3', 'str': 'Mail unknown host', 'value': 2147516419},
|
||||
'B_PERMISSION_DENIED': {'expr': 'B_GENERAL_ERROR_BASE + 2', 'str': 'Permission denied', 'value': 2147483650},
|
||||
'B_DEV_RECALIBRATE_ERROR': {'expr': 'B_DEVICE_ERROR_BASE + 7', 'str': 'Device recalibrate error', 'value': 2147524615},
|
||||
'B_DEV_INVALID_IOCTL': {'expr': 'B_DEVICE_ERROR_BASE + 0', 'str': 'Invalid device ioctl', 'value': 2147524608},
|
||||
'EROFS': {'expr': 'B_READ_ONLY_DEVICE', 'str': 'Read-only file system', 'value': 2147508232},
|
||||
'B_MEDIA_NODE_BUSY': {'expr': 'B_MEDIA_ERROR_BASE + 102', 'str': 'Media node busy', 'value': 2147500134},
|
||||
'ECONNREFUSED': {'expr': 'B_POSIX_ERROR_BASE + 32', 'str': 'Connection refused', 'value': 2147512352},
|
||||
'ENOTEMPTY': {'expr': 'B_DIRECTORY_NOT_EMPTY', 'str': 'Directory not empty', 'value': 2147508230},
|
||||
'B_BAD_TYPE': {'expr': 'B_GENERAL_ERROR_BASE + 4', 'str': 'Bad argument type passed to function', 'value': 2147483652},
|
||||
'ENETDOWN': {'expr': 'B_POSIX_ERROR_BASE + 24', 'str': 'Network is down', 'value': 2147512344},
|
||||
'ENOSTR': {'expr': 'B_POSIX_ERROR_BASE + 55', 'str': 'Not a STREAM', 'value': 2147512375},
|
||||
'ENOTDIR': {'expr': 'B_NOT_A_DIRECTORY', 'str': 'Not a directory', 'value': 2147508229},
|
||||
'B_DEV_BAD_DRIVE_NUM': {'expr': 'B_DEVICE_ERROR_BASE + 2', 'str': 'Bad drive number', 'value': 2147524610},
|
||||
'B_DEV_MULTIPLE_ERRORS': {'expr': 'B_DEVICE_ERROR_BASE + 29', 'str': 'Multiple device errors', 'value': 2147524637},
|
||||
'EILSEQ': {'expr': 'B_POSIX_ERROR_BASE + 38', 'str': 'Illegal byte sequence', 'value': 2147512358},
|
||||
'B_MEDIA_TOO_MANY_NODES': {'expr': 'B_MEDIA_ERROR_BASE + 105', 'str': 'Too many nodes', 'value': 2147500137},
|
||||
'B_DEV_BAD_PID': {'expr': 'B_DEVICE_ERROR_BASE + 22', 'str': '', 'value': 2147524630},
|
||||
'B_MEDIA_ADDON_FAILED': {'expr': 'B_MEDIA_ERROR_BASE + 122', 'str': 'Media addon failed', 'value': 2147500154},
|
||||
'ENOEXEC': {'expr': 'B_NOT_AN_EXECUTABLE', 'str': 'Not an executable', 'value': 2147488514},
|
||||
'EACCES': {'expr': 'B_PERMISSION_DENIED', 'str': 'Permission denied', 'value': 2147483650},
|
||||
'ENOTSUP': {'expr': 'B_POSIX_ERROR_BASE + 56', 'str': 'Not supported', 'value': 2147512376},
|
||||
'EOVERFLOW': {'expr': 'B_POSIX_ERROR_BASE + 41', 'str': 'Value too large for defined type', 'value': 2147512361},
|
||||
'B_DEBUGGER_ALREADY_INSTALLED': {'expr': 'B_OS_ERROR_BASE + 0x400', 'str': 'Debugger already installed for this team', 'value': 2147488768},
|
||||
'B_BAD_INDEX': {'expr': 'B_GENERAL_ERROR_BASE + 3', 'str': 'Index not in range for the data set', 'value': 2147483651},
|
||||
'B_BAD_SCRIPT_SYNTAX': {'expr': 'B_APP_ERROR_BASE + 8', 'str': 'Bad script syntax', 'value': 2147491848},
|
||||
'EPFNOSUPPORT': {'expr': 'B_POSIX_ERROR_BASE + 20', 'str': 'Protocol family not supported', 'value': 2147512340},
|
||||
'EFPOS': {'expr': 'B_POSIX_ERROR_BASE + 14', 'str': 'File Position Error', 'value': 2147512334},
|
||||
'B_MEDIA_CANNOT_RECLAIM_BUFFERS': {'expr': 'B_MEDIA_ERROR_BASE + 113', 'str': 'Cannot reclaim buffers', 'value': 2147500145},
|
||||
'B_BAD_SEM_ID': {'expr': 'B_OS_ERROR_BASE + 0', 'str': 'Bad semaphore ID', 'value': 2147487744},
|
||||
'EBADF': {'expr': 'B_FILE_ERROR', 'str': 'Bad file descriptor', 'value': 2147508224},
|
||||
'B_MEDIA_STALE_CHANGE_COUNT': {'expr': 'B_MEDIA_ERROR_BASE + 125', 'str': 'Stale change count', 'value': 2147500157},
|
||||
'B_DEV_NOT_READY': {'expr': 'B_DEVICE_ERROR_BASE + 12', 'str': 'Device not ready', 'value': 2147524620},
|
||||
'B_MEDIA_APP_NOT_REGISTERED': {'expr': 'B_MEDIA_ERROR_BASE + 112', 'str': 'Application not registered', 'value': 2147500144},
|
||||
'B_MEDIA_DUPLICATE_FORMAT': {'expr': 'B_MEDIA_ERROR_BASE + 128', 'str': 'Duplicate format', 'value': 2147500160},
|
||||
'B_DEV_STALLED': {'expr': 'B_DEVICE_ERROR_BASE + 21', 'str': 'Device stalled', 'value': 2147524629},
|
||||
'ENETRESET': {'expr': 'B_POSIX_ERROR_BASE + 26', 'str': 'Network dropped connection on reset', 'value': 2147512346},
|
||||
'B_TOO_MANY_ARGS': {'expr': 'E2BIG', 'str': '', 'value': 2147512321},
|
||||
'EWOULDBLOCK': {'expr': 'B_WOULD_BLOCK', 'str': 'Operation would block', 'value': 2147483659},
|
||||
'B_MEDIA_REALTIME_DISABLED': {'expr': 'B_MEDIA_ERROR_BASE + 129', 'str': 'Realtime disabled', 'value': 2147500161},
|
||||
'B_MAIL_UNKNOWN_FIELD': {'expr': 'B_MAIL_ERROR_BASE + 5', 'str': 'Unknown mail field', 'value': 2147516421},
|
||||
'B_DEV_MEDIA_CHANGE_REQUESTED': {'expr': 'B_DEVICE_ERROR_BASE + 14', 'str': 'Device media change requested', 'value': 2147524622},
|
||||
'EIO': {'expr': 'B_IO_ERROR', 'str': 'I/O error', 'value': 2147483649},
|
||||
'EAFNOSUPPORT': {'expr': 'B_POSIX_ERROR_BASE + 21', 'str': 'Address family not supported by protocol family', 'value': 2147512341},
|
||||
'B_MEDIA_ALREADY_CONNECTED': {'expr': 'B_MEDIA_ERROR_BASE + 119', 'str': 'Already connected', 'value': 2147500151},
|
||||
'B_DEV_MEDIA_CHANGED': {'expr': 'B_DEVICE_ERROR_BASE + 13', 'str': 'Device media changed', 'value': 2147524621},
|
||||
'ESRCH': {'expr': 'B_POSIX_ERROR_BASE + 13', 'str': 'No such process', 'value': 2147512333},
|
||||
'B_DEV_DOOR_OPEN': {'expr': 'B_DEVICE_ERROR_BASE + 18', 'str': 'Drive door open', 'value': 2147524626},
|
||||
'B_SHUTTING_DOWN': {'expr': 'B_APP_ERROR_BASE + 18', 'str': 'System shutting down', 'value': 2147491858},
|
||||
'B_MISSING_SYMBOL': {'expr': 'B_OS_ERROR_BASE + 0x304', 'str': 'Symbol not found', 'value': 2147488516},
|
||||
'B_SUBSCRIBER_NOT_ENTERED': {'expr': 'B_MEDIA_ERROR_BASE + 5', 'str': 'Subscriber not entered', 'value': 2147500037},
|
||||
'B_DEV_TOO_LATE': {'expr': 'B_DEVICE_ERROR_BASE + 30', 'str': 'Device too late', 'value': 2147524638},
|
||||
'B_BAD_SUBSCRIBER': {'expr': 'B_MEDIA_ERROR_BASE + 4', 'str': 'Bad subscriber', 'value': 2147500036},
|
||||
'B_ENTRY_NOT_FOUND': {'expr': 'B_STORAGE_ERROR_BASE + 3', 'str': 'No such file or directory', 'value': 2147508227},
|
||||
'B_LAUNCH_FAILED_FILES_APP_NOT_FOUND': {'expr': 'B_APP_ERROR_BASE + 14', 'str': 'This file has a preferred app, but it could not be found', 'value': 2147491854},
|
||||
'B_BAD_THREAD_STATE': {'expr': 'B_OS_ERROR_BASE + 0x102', 'str': 'Thread is inappropriate state', 'value': 2147488002},
|
||||
'B_MEDIA_BAD_FORMAT': {'expr': 'B_MEDIA_ERROR_BASE + 103', 'str': 'Bad media format', 'value': 2147500135},
|
||||
'B_DEV_NO_MEDIA': {'expr': 'B_DEVICE_ERROR_BASE + 3', 'str': 'No media present', 'value': 2147524611},
|
||||
'B_BAD_IMAGE_ID': {'expr': 'B_OS_ERROR_BASE + 0x300', 'str': 'Bad image ID', 'value': 2147488512},
|
||||
'EINVAL': {'expr': 'B_BAD_VALUE', 'str': 'Invalid Argument', 'value': 2147483653},
|
||||
'B_UNKNOWN_MIME_TYPE': {'expr': 'B_APP_ERROR_BASE + 7', 'str': 'Unknown MIME type', 'value': 2147491847},
|
||||
'B_NOT_A_MESSAGE': {'expr': 'B_APP_ERROR_BASE + 16', 'str': 'Data is not a message', 'value': 2147491856},
|
||||
'B_DEV_DISABLED_BY_USER': {'expr': 'B_DEVICE_ERROR_BASE + 17', 'str': 'Disabled by user', 'value': 2147524625},
|
||||
'EIDRM': {'expr': 'B_POSIX_ERROR_BASE + 50', 'str': 'Identifier removed', 'value': 2147512370},
|
||||
'B_MEDIA_TOO_MANY_BUFFERS': {'expr': 'B_MEDIA_ERROR_BASE + 106', 'str': 'Too many buffers', 'value': 2147500138},
|
||||
'B_SHUTDOWN_CANCELLED': {'expr': 'B_APP_ERROR_BASE + 17', 'str': 'System shutdown cancelled', 'value': 2147491857},
|
||||
'B_MEDIA_NOT_CONNECTED': {'expr': 'B_MEDIA_ERROR_BASE + 120', 'str': 'Not connected', 'value': 2147500152},
|
||||
'B_LINK_LIMIT': {'expr': 'B_STORAGE_ERROR_BASE + 12', 'str': 'Too many symbolic links', 'value': 2147508236},
|
||||
'B_ALREADY_RUNNING': {'expr': 'B_APP_ERROR_BASE + 4', 'str': 'Already running', 'value': 2147491844},
|
||||
'B_BUFFER_OVERFLOW': {'expr': 'EOVERFLOW', 'str': '', 'value': 2147512361},
|
||||
'B_BAD_DATA': {'expr': 'B_GENERAL_ERROR_BASE + 16', 'str': 'Bad data', 'value': 2147483664},
|
||||
'B_IS_A_DIRECTORY': {'expr': 'B_STORAGE_ERROR_BASE + 9', 'str': 'Is a directory', 'value': 2147508233},
|
||||
'B_BAD_ADDRESS': {'expr': 'B_OS_ERROR_BASE + 0x301', 'str': 'Bad address', 'value': 2147488513},
|
||||
'B_LAUNCH_FAILED_NO_RESOLVE_LINK': {'expr': 'B_APP_ERROR_BASE + 9', 'str': 'Could not resolve a link', 'value': 2147491849},
|
||||
'B_NO_MORE_PORTS': {'expr': 'B_OS_ERROR_BASE + 0x201', 'str': 'No more ports available', 'value': 2147488257},
|
||||
'EHOSTUNREACH': {'expr': 'B_POSIX_ERROR_BASE + 33', 'str': 'No route to host', 'value': 2147512353},
|
||||
'B_MEDIA_BUFFER_ALREADY_EXISTS': {'expr': 'B_MEDIA_ERROR_BASE + 108', 'str': 'Buffer already exists', 'value': 2147500140},
|
||||
}
|
||||
+129
@@ -0,0 +1,129 @@
|
||||
#!python
|
||||
|
||||
# run from trunk/ and > errors.py
|
||||
|
||||
import re
|
||||
|
||||
errors = {}
|
||||
|
||||
|
||||
errors_h = open("headers/os/support/Errors.h", "r")
|
||||
|
||||
bases = {}
|
||||
|
||||
for line in errors_h:
|
||||
|
||||
match = re.match(r'#\s?define\s+(?P<define>\w+)\s+(?P<expr>.+)', line)
|
||||
if match:
|
||||
define = match.groupdict().get("define")
|
||||
expr = match.groupdict().get("expr")
|
||||
value = None
|
||||
#print "==== %s ==== %s" % (define, expr)
|
||||
if expr == "INT_MIN":
|
||||
value = 0x80000000
|
||||
if expr == "(-1)":
|
||||
value = -1
|
||||
expr = ""
|
||||
if expr == "((int)0)":
|
||||
value = 0
|
||||
expr = ""
|
||||
|
||||
m = re.match(r"B_TO_POSIX_ERROR\((?P<expr>.*)\)", expr)
|
||||
if m:
|
||||
# strip the macro
|
||||
expr = m.group("expr")
|
||||
#print expr
|
||||
|
||||
m = re.match(r"B_FROM_POSIX_ERROR\((?P<expr>.*)\)", expr)
|
||||
if m:
|
||||
# strip the macro
|
||||
expr = m.group("expr")
|
||||
#print expr
|
||||
|
||||
m = re.match(r"\((?P<expr>.*)\)", expr)
|
||||
if m:
|
||||
# strip the parens
|
||||
expr = m.group("expr")
|
||||
#print expr
|
||||
|
||||
m = re.match(r"(?P<expr>\w+)$", expr)
|
||||
if m:
|
||||
# strip the macro
|
||||
token = m.group("expr")
|
||||
if token in errors:
|
||||
value = errors[token]["value"]
|
||||
#print "%s -> %s = %s" % (define, token, value)
|
||||
|
||||
m = re.match(r"(?P<base>.*_BASE)\s*\+\s*(?P<offset>\w+)$", expr)
|
||||
if m:
|
||||
base = m.group("base")
|
||||
if base not in bases:
|
||||
raise "error"
|
||||
b = bases[base]
|
||||
o = int(m.group("offset"), 0)
|
||||
value = b + o
|
||||
#print "value: %x + %x = %x = %d" % (b, o, value, value)
|
||||
|
||||
if value is None:
|
||||
print "Value unknown for %s" % (define)
|
||||
exit(1)
|
||||
|
||||
if re.match(r".*_BASE", define):
|
||||
#print "base: %s=%s" % (define, value)
|
||||
bases[define] = value
|
||||
|
||||
else:
|
||||
#print "%s=%s :%s" % (define, expr, value)
|
||||
errors[define] = {"expr": expr, "value": value, "str": ""}
|
||||
|
||||
|
||||
errors_h.close()
|
||||
|
||||
#print bases
|
||||
#print errors
|
||||
#print errors['EILSEQ']
|
||||
|
||||
#exit(0)
|
||||
|
||||
strerror_c = open("src/system/libroot/posix/string/strerror.c", "r")
|
||||
|
||||
defines = []
|
||||
|
||||
for line in strerror_c:
|
||||
|
||||
match = re.match(r'\t*case (?P<define>\w+):', line)
|
||||
if match:
|
||||
define = match.groupdict().get("define")
|
||||
defines.append(define)
|
||||
match = re.match(r'\t*//\s+(?P<define>\w+):*$', line)
|
||||
if match:
|
||||
define = match.groupdict().get("define")
|
||||
defines.append(define)
|
||||
|
||||
match = re.match(r'\t*return "(?P<str>.+)";', line)
|
||||
if match:
|
||||
str = match.groupdict().get("str")
|
||||
#print defines
|
||||
for d in defines:
|
||||
#print d
|
||||
if errors[d]:
|
||||
#print errors[d]#['str']
|
||||
errors[d]['str'] = str
|
||||
else:
|
||||
print "not found: %s" % (d)
|
||||
exit(1)
|
||||
defines = []
|
||||
#errors[define] = "plop"
|
||||
|
||||
strerror_c.close()
|
||||
|
||||
# Some fixup
|
||||
errors['B_OK']['str'] = "No Error"
|
||||
errors['B_NO_ERROR']['str'] = "No Error"
|
||||
errors['B_DONT_DO_THAT']['str'] = "Don't do that!"
|
||||
|
||||
#print errors
|
||||
print "errors = {"
|
||||
for e in errors:
|
||||
print "'%s': %s," % (e, errors[e])
|
||||
print "}"
|
||||
Vendored
+249
@@ -0,0 +1,249 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
###
|
||||
# Copyright (c) 2012, François Revol
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright notice,
|
||||
# this list of conditions, and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above copyright notice,
|
||||
# this list of conditions, and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# * Neither the name of the author of this software nor the name of
|
||||
# contributors to this software may be used to endorse or promote products
|
||||
# derived from this software without specific prior written consent.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT OWNER OR CONTRIBUTORS 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.
|
||||
###
|
||||
|
||||
import supybot.conf as conf
|
||||
import supybot.utils as utils
|
||||
from supybot.commands import *
|
||||
import supybot.callbacks as callbacks
|
||||
import supybot.log as log
|
||||
|
||||
import random
|
||||
|
||||
import errors
|
||||
|
||||
class Haiku(callbacks.Plugin):
|
||||
def __init__(self, irc):
|
||||
#log.error("plop")
|
||||
#print "plop"
|
||||
self.fortunes = []
|
||||
fortunes = open("/home/revol/devel/haiku/trunk/data/system/data/fortunes/Haiku", "r")
|
||||
print fortunes
|
||||
if fortunes:
|
||||
fortune = ""
|
||||
for line in fortunes:
|
||||
if line == "%\n":
|
||||
self.fortunes.append(fortune)
|
||||
fortune = ""
|
||||
else:
|
||||
fortune += line
|
||||
fortunes.close()
|
||||
|
||||
self.__parent = super(Haiku, self)
|
||||
self.__parent.__init__(irc)
|
||||
|
||||
def error(self, irc, msg, args):
|
||||
"""<error>
|
||||
|
||||
Returns the code and value for the given <error> value or code.
|
||||
"""
|
||||
print "Haiku: error"
|
||||
print args
|
||||
if not args:
|
||||
raise callbacks.ArgumentError
|
||||
for arg in args:
|
||||
err = None
|
||||
if arg in errors.errors:
|
||||
err = errors.errors[arg]
|
||||
key = arg
|
||||
else:
|
||||
try:
|
||||
i = int(arg, 0)
|
||||
except ValueError:
|
||||
irc.errorInvalid('argument', arg, Raise=True)
|
||||
for e in errors.errors:
|
||||
if errors.errors[e]['value'] == i:
|
||||
err = errors.errors[e]
|
||||
key = e
|
||||
if err is None:
|
||||
irc.reply("Unknown error '%s'" % (arg))
|
||||
else:
|
||||
expr = err['expr']
|
||||
value = err['value']
|
||||
r = "%s = %s = 0x%x (%d): %s" % (key, expr, int(value), value, err['str'])
|
||||
irc.reply(r)
|
||||
|
||||
def haiku(self, irc, msg, args):
|
||||
"""
|
||||
|
||||
Returns a random haiku.
|
||||
"""
|
||||
|
||||
if len(self.fortunes) > 0:
|
||||
h = self.fortunes[int(random.random() * len(self.fortunes))].split('\n')
|
||||
for l in h:
|
||||
if l != "":
|
||||
irc.reply(l, prefixNick = False)
|
||||
else:
|
||||
irc.reply("No haiku found")
|
||||
|
||||
def reportbugs(self, irc, msg, args):
|
||||
"""
|
||||
|
||||
Returns some infos on reporting bugs.
|
||||
"""
|
||||
|
||||
to = None
|
||||
if len(args) > 0:
|
||||
to = args[0]
|
||||
t = "If you think there is a bug in Haiku, please report a bug so we can remember to fix it. cf. http://dev.haiku-os.org/wiki/ReportingBugs"
|
||||
irc.reply(t, to = to)
|
||||
|
||||
def patchwanted(self, irc, msg, args):
|
||||
"""
|
||||
|
||||
Returns some infos on submitting patches.
|
||||
"""
|
||||
|
||||
to = None
|
||||
if len(args) > 0:
|
||||
to = args[0]
|
||||
t = "Haiku is Free Software, therefore you can fix it yourself and send a patch, which would likely be very appreciated. cf. http://dev.haiku-os.org/wiki/SubmittingPatches"
|
||||
irc.reply(t, to = to)
|
||||
|
||||
def download(self, irc, msg, args):
|
||||
"""
|
||||
|
||||
Returns download links.
|
||||
"""
|
||||
|
||||
to = None
|
||||
if len(args) > 0:
|
||||
to = args[0]
|
||||
t = "Current release: http://www.haiku-os.org/get-haiku - Nightly builds: http://haiku-files.org/haiku/development/"
|
||||
irc.reply(t, to = to)
|
||||
|
||||
def dl(self, irc, msg, args):
|
||||
"""
|
||||
|
||||
Returns download links.
|
||||
"""
|
||||
return self.download(irc, msg, args)
|
||||
|
||||
def vi(self, irc, msg, args):
|
||||
"""
|
||||
|
||||
Trolls.
|
||||
"""
|
||||
|
||||
to = None
|
||||
if len(args) > 0:
|
||||
to = args[0]
|
||||
t = "emacs!"
|
||||
irc.reply(t, to = to)
|
||||
|
||||
def emacs(self, irc, msg, args):
|
||||
"""
|
||||
|
||||
Trolls.
|
||||
"""
|
||||
|
||||
to = None
|
||||
if len(args) > 0:
|
||||
to = args[0]
|
||||
t = "vi!"
|
||||
irc.reply(t, to = to)
|
||||
|
||||
def bored(self, irc, msg, args):
|
||||
"""
|
||||
|
||||
Returns some infos.
|
||||
"""
|
||||
|
||||
to = None
|
||||
if len(args) > 0:
|
||||
to = args[0]
|
||||
t = "Why won't you get on some easy tasks then? http://dev.haiku-os.org/wiki/EasyTasks"
|
||||
irc.reply(t, to = to)
|
||||
|
||||
def jlg(self, irc, msg, args):
|
||||
"""
|
||||
|
||||
Praise Jean-Louis Gassée.
|
||||
"""
|
||||
|
||||
to = None
|
||||
if len(args) > 0:
|
||||
to = args[0]
|
||||
t = "Jean-Louis Gassée, such a Grand Fromage!"
|
||||
irc.reply(t, to = to)
|
||||
|
||||
def basement(self, irc, msg, args):
|
||||
"""
|
||||
|
||||
Puts people to work.
|
||||
"""
|
||||
|
||||
to = "everyone"
|
||||
who = "them"
|
||||
if len(args) > 0:
|
||||
to = args[0]
|
||||
who = "him"
|
||||
if len(args) > 1:
|
||||
to = ' and '.join([', '.join(args[:-1]), args[-1]])
|
||||
who = "them"
|
||||
t = "sends %s to BGA's basement and chains %s to a post in front of a computer. Get to work!" % (to, who)
|
||||
irc.reply(t, action = True)
|
||||
|
||||
def trout(self, irc, msg, args):
|
||||
"""
|
||||
|
||||
Puts someone back to his place.
|
||||
"""
|
||||
|
||||
if len(args) > 0:
|
||||
to = args[0]
|
||||
if len(args) > 1:
|
||||
to = ' and '.join([', '.join(args[:-1]), args[-1]])
|
||||
t = "slaps %s with a trout." % (to)
|
||||
irc.reply(t, action = True)
|
||||
|
||||
def plop(self, irc, msg, args):
|
||||
"""
|
||||
|
||||
Returns some infos.
|
||||
"""
|
||||
|
||||
to = None
|
||||
if len(args) > 0:
|
||||
to = args[0]
|
||||
t = "plop"
|
||||
irc.reply(t, to = to)
|
||||
|
||||
def shibboleet(self, irc, msg, args):
|
||||
"""
|
||||
|
||||
Tech support.
|
||||
"""
|
||||
|
||||
irc.reply("http://xkcd.com/806/ Tech Support")
|
||||
|
||||
Class = Haiku
|
||||
|
||||
# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:
|
||||
Vendored
+47
@@ -0,0 +1,47 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
###
|
||||
# Copyright (c) 2012, François Revol
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright notice,
|
||||
# this list of conditions, and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above copyright notice,
|
||||
# this list of conditions, and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# * Neither the name of the author of this software nor the name of
|
||||
# contributors to this software may be used to endorse or promote products
|
||||
# derived from this software without specific prior written consent.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT OWNER OR CONTRIBUTORS 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.
|
||||
###
|
||||
|
||||
from supybot.test import *
|
||||
|
||||
class HaikuTestCase(PluginTestCase):
|
||||
plugins = ('Haiku')
|
||||
def testSeconds(self):
|
||||
self.assertResponse('!plop', 'plop')
|
||||
|
||||
|
||||
def testNoErrors(self):
|
||||
self.assertNotError('!plop')
|
||||
|
||||
def testNoNestedErrors(self):
|
||||
self.assertNotError('!plop')
|
||||
|
||||
|
||||
# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:
|
||||
|
||||
Vendored
+95
-9
@@ -56,7 +56,7 @@
|
||||
if [ -z "$DEVROOT" ]; then
|
||||
DRLIST="$HOME/devel /Data /work /Volumes/Data/devel"
|
||||
for d in $DRLIST; do
|
||||
test -d $d && DEVROOT=$d && break;
|
||||
test -d "$d" && DEVROOT="$d" && break;
|
||||
done
|
||||
fi
|
||||
export DEVROOT
|
||||
@@ -64,14 +64,14 @@ export DEVROOT
|
||||
# automagically find password files
|
||||
PWLIST="/Data /fat32 $HOME"
|
||||
for d in $PWLIST; do
|
||||
test -d $d/PASSWDS && PASSWDS=$d/PASSWDS && break;
|
||||
test -d "$d/PASSWDS" && PASSWDS="$d/PASSWDS" && break;
|
||||
done
|
||||
export PASSWDS
|
||||
|
||||
# svn sometimes forgets about vi and wants me to use nano...
|
||||
#export EDITOR=vim
|
||||
|
||||
function dev() {
|
||||
dev() {
|
||||
if [ $# -lt 1 ]; then
|
||||
#ls $DEVROOT/*/.profile | sed 's,.*/\([^/]*\)/.profile,\1,'
|
||||
for f in "$DEVROOT/"*; do test -e "$f/.profile" || continue; echo ${f##*/}; done
|
||||
@@ -89,12 +89,16 @@ function dev() {
|
||||
mkdir "$DEVROOT/$1" && touch "$DEVROOT/$1/.profile"
|
||||
# fallback
|
||||
fi
|
||||
|
||||
export DEVPROJ="$1"
|
||||
if [ ! -d "$DEVROOT/$1" ]; then
|
||||
echo "invalid project name '$1'"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# change to the project root folder
|
||||
cd "$DEVROOT/$1"
|
||||
|
||||
# use a specific history file
|
||||
export HISTFILE="$DEVROOT/$1/.bash_history"
|
||||
# and bump up the history limits
|
||||
@@ -103,6 +107,10 @@ function dev() {
|
||||
export HISTCONTROL=ignoreboth
|
||||
# and force loading the new histfile
|
||||
history -r
|
||||
|
||||
# force default locale so that compiler errors and such are reported in english
|
||||
#export LC_ALL=C.UTF-8
|
||||
|
||||
# set the prompt
|
||||
# cf. http://tldp.org/HOWTO/Bash-Prompt-HOWTO/
|
||||
NICEPS1='\[\033[1m\][\u@\h \w]\[\033[0m\]\$ '
|
||||
@@ -122,6 +130,7 @@ function dev() {
|
||||
export PROMPT_COMMAND='echo -en "\033]0;['$1':${PWD##*/}]\a"'
|
||||
;;
|
||||
esac
|
||||
|
||||
# lower priority so background builds don't slow the GUI too much
|
||||
case "$OSTYPE" in
|
||||
beos|haiku)
|
||||
@@ -136,6 +145,8 @@ function dev() {
|
||||
;;
|
||||
esac
|
||||
|
||||
DEVUPCMD=""
|
||||
|
||||
# source the specific profile file
|
||||
test -f .profile && . .profile
|
||||
|
||||
@@ -143,14 +154,89 @@ function dev() {
|
||||
test -z "$EDITOR" -a -z "$SVN_EDITOR" && export EDITOR=vim
|
||||
|
||||
# make sure the update action is the first found in history.
|
||||
test -d .svn && history -s svn up
|
||||
test -d .bzr && history -s bzr update
|
||||
test -d .hg && history -s hg pull
|
||||
test -d .git && history -s git pull
|
||||
test -d CVS && history -s cvs up -d
|
||||
test -n "$P4PORT" && history -s p4 sync
|
||||
test -z "$DEVUPCMD" -a -d .svn && DEVUPCMD="svn up"
|
||||
test -z "$DEVUPCMD" -a -d .bzr && DEVUPCMD="bzr update"
|
||||
test -z "$DEVUPCMD" -a -d .hg && DEVUPCMD="hg pull"
|
||||
test -z "$DEVUPCMD" -a -d .git && DEVUPCMD="git pull"
|
||||
test -z "$DEVUPCMD" -a -d CVS && DEVUPCMD="cvs up -d"
|
||||
test -z "$DEVUPCMD" -a \( -f _FOSSIL_ -o -f .fslckout \) && DEVUPCMD="fossil update"
|
||||
test -z "$DEVUPCMD" -a -n "$P4PORT" && DEVUPCMD="p4 sync"
|
||||
test -n "$DEVUPCMD" && history -s "$DEVUPCMD"
|
||||
|
||||
# spice up terminal window title for git, add current branch name
|
||||
test -d .git && PROMPT_COMMAND='echo -en "\033]0;['$DEVPROJ':`git branch 2>/dev/null | sed "/^[^*]/d;s/^\*\s//"`:${PWD##*/}]\a"'
|
||||
}
|
||||
|
||||
complete -W complete -W "$(dev)" dev
|
||||
|
||||
_devup_notify() {
|
||||
echo "#### $*" >&2
|
||||
}
|
||||
|
||||
devup() {
|
||||
if [ $# -lt 1 ]; then
|
||||
#ls $DEVROOT/*/.profile | sed 's,.*/\([^/]*\)/.profile,\1,'
|
||||
for f in "$DEVROOT/"*; do
|
||||
test -e "$f/.profile" || continue
|
||||
grep "^# AUTOUP$" "$f/.profile" > /dev/null 2>&1 || continue
|
||||
p="${f##*/}"
|
||||
_devup_notify "Updating $p..."
|
||||
devup "$p" && _devup_notify "Updated $p: OK" || (_devup_notify "Updating $p: Error: $?"; read)
|
||||
done
|
||||
return 0
|
||||
fi
|
||||
|
||||
# subshell!!!
|
||||
(
|
||||
|
||||
export DEVPROJ="$1"
|
||||
if [ ! -d "$DEVROOT/$1" ]; then
|
||||
echo "invalid project name '$1'"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# change to the project root folder
|
||||
cd "$DEVROOT/$1"
|
||||
|
||||
# lower priority so background builds don't slow the GUI too much
|
||||
case "$OSTYPE" in
|
||||
beos|haiku)
|
||||
prio $$ 1
|
||||
;;
|
||||
darwin10.*)
|
||||
renice 3 $$
|
||||
;;
|
||||
linux-*)
|
||||
# linux doesn't really need it much
|
||||
#renice 3 $$
|
||||
;;
|
||||
esac
|
||||
|
||||
DEVUPCMD=""
|
||||
|
||||
# source the specific profile file
|
||||
test -f .profile && . .profile
|
||||
|
||||
# make sure the update action is the first found in history.
|
||||
if [ -z "$DEVUPCMD" ]; then
|
||||
test -d .svn && DEVUPCMD="svn up"
|
||||
test -d .bzr && DEVUPCMD="bzr update"
|
||||
test -d .hg && DEVUPCMD="hg pull"
|
||||
test -d .git && DEVUPCMD="git pull"
|
||||
test -d CVS && DEVUPCMD="cvs up -d"
|
||||
test -n "$P4PORT" && DEVUPCMD="p4 sync"
|
||||
fi
|
||||
|
||||
test -n "$DEVUPCMD" || return 7
|
||||
|
||||
# run the update command...
|
||||
eval "$DEVUPCMD"
|
||||
|
||||
return $?
|
||||
)
|
||||
|
||||
return $?
|
||||
}
|
||||
|
||||
complete -W complete -W "$(dev)" devup
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -30,7 +30,7 @@ dumpview () {
|
||||
local C=0
|
||||
|
||||
while [ $C -lt $CNT ]; do
|
||||
local INAME="$(hey "$APP" get InternalName of View $C of $1 Window $WIN | grep result | cut -d" " -f 7)"
|
||||
local INAME="$(hey "$APP" get InternalName of View $C of $1 Window $WIN | grep result | sed 's/.* : //')"
|
||||
echo "$2:: View $C/$CNT ($INAME) ( View $C of ${1}Window $WIN )"
|
||||
# hey "$APP" get View $C of $1 Window $WIN | awk " { print \" $2\" \$0 } "
|
||||
# hey "$APP" getsuites of View $C of $1 Window $WIN | grep Label >/dev/null
|
||||
|
||||
Vendored
+140
@@ -0,0 +1,140 @@
|
||||
## BeOS Generic Makefile v2.5 ##
|
||||
|
||||
## Fill in this file to specify the project being created, and the referenced
|
||||
## makefile-engine will do all of the hard work for you. This handles both
|
||||
## Intel and PowerPC builds of the BeOS and Haiku.
|
||||
|
||||
## Application Specific Settings ---------------------------------------------
|
||||
|
||||
# specify the name of the binary
|
||||
NAME=proj2make
|
||||
|
||||
# specify the type of binary
|
||||
# APP: Application
|
||||
# SHARED: Shared library or add-on
|
||||
# STATIC: Static library archive
|
||||
# DRIVER: Kernel Driver
|
||||
TYPE=
|
||||
|
||||
# if you plan to use localization features
|
||||
# specify the application MIME siganture
|
||||
APP_MIME_SIG=
|
||||
|
||||
# add support for new Pe and Eddie features
|
||||
# to fill in generic makefile
|
||||
|
||||
#%{
|
||||
# @src->@
|
||||
|
||||
# specify the source files to use
|
||||
# full paths or paths relative to the makefile can be included
|
||||
# all files, regardless of directory, will have their object
|
||||
# files created in the common object directory.
|
||||
# Note that this means this makefile will not work correctly
|
||||
# if two source files with the same name (source.c or source.cpp)
|
||||
# are included from different directories. Also note that spaces
|
||||
# in folder names do not work well with this makefile.
|
||||
SRCS=proj2make.cpp
|
||||
|
||||
# specify the resource definition files to use
|
||||
# full path or a relative path to the resource file can be used.
|
||||
RDEFS=
|
||||
|
||||
# specify the resource files to use.
|
||||
# full path or a relative path to the resource file can be used.
|
||||
# both RDEFS and RSRCS can be defined in the same makefile.
|
||||
RSRCS=
|
||||
|
||||
# @<-src@
|
||||
#%}
|
||||
|
||||
# end support for Pe and Eddie
|
||||
|
||||
# specify additional libraries to link against
|
||||
# there are two acceptable forms of library specifications
|
||||
# - if your library follows the naming pattern of:
|
||||
# libXXX.so or libXXX.a you can simply specify XXX
|
||||
# library: libbe.so entry: be
|
||||
#
|
||||
# - for version-independent linking of standard C++ libraries please add
|
||||
# $(STDCPPLIBS) instead of raw "stdc++[.r4] [supc++]" library names
|
||||
#
|
||||
# - for localization support add following libs:
|
||||
# locale localestub
|
||||
#
|
||||
# - if your library does not follow the standard library
|
||||
# naming scheme you need to specify the path to the library
|
||||
# and it's name
|
||||
# library: my_lib.a entry: my_lib.a or path/my_lib.a
|
||||
LIBS=be root $(STDCPPLIBS)
|
||||
# specify additional paths to directories following the standard
|
||||
# libXXX.so or libXXX.a naming scheme. You can specify full paths
|
||||
# or paths relative to the makefile. The paths included may not
|
||||
# be recursive, so include all of the paths where libraries can
|
||||
# be found. Directories where source files are found are
|
||||
# automatically included.
|
||||
LIBPATHS=
|
||||
# additional paths to look for system headers
|
||||
# thes use the form: #include <header>
|
||||
# source file directories are NOT auto-included here
|
||||
SYSTEM_INCLUDE_PATHS =
|
||||
|
||||
# additional paths to look for local headers
|
||||
# thes use the form: #include "header"
|
||||
# source file directories are automatically included
|
||||
LOCAL_INCLUDE_PATHS =
|
||||
|
||||
# specify the level of optimization that you desire
|
||||
# NONE, SOME, FULL
|
||||
OPTIMIZE=
|
||||
|
||||
# specify here the codes for languages you are going
|
||||
# to support in this application. The default "en"
|
||||
# one must be provided too. "make catkeys" will recreate only
|
||||
# locales/en.catkeys file. Use it as template for creating other
|
||||
# languages catkeys. All localization files must be placed
|
||||
# in "locales" sub-directory.
|
||||
LOCALES=
|
||||
|
||||
# specify any preprocessor symbols to be defined. The symbols will not
|
||||
# have their values set automatically; you must supply the value (if any)
|
||||
# to use. For example, setting DEFINES to "DEBUG=1" will cause the
|
||||
# compiler option "-DDEBUG=1" to be used. Setting DEFINES to "DEBUG"
|
||||
# would pass "-DDEBUG" on the compiler's command line.
|
||||
DEFINES=
|
||||
|
||||
# specify special warning levels
|
||||
# if unspecified default warnings will be used
|
||||
# NONE = supress all warnings
|
||||
# ALL = enable all warnings
|
||||
WARNINGS =
|
||||
|
||||
# specify whether image symbols will be created
|
||||
# so that stack crawls in the debugger are meaningful
|
||||
# if TRUE symbols will be created
|
||||
SYMBOLS = TRUE
|
||||
# specify debug settings
|
||||
# if TRUE will allow application to be run from a source-level
|
||||
# debugger. Note that this will disable all optimzation.
|
||||
DEBUGGER = TRUE
|
||||
|
||||
# specify additional compiler flags for all files
|
||||
COMPILER_FLAGS =
|
||||
|
||||
# specify additional linker flags
|
||||
LINKER_FLAGS =
|
||||
|
||||
# specify the version of this particular item
|
||||
# (for example, -app 3 4 0 d 0 -short 340 -long "340 "`echo -n -e '\302\251'`"1999 GNU GPL")
|
||||
# This may also be specified in a resource.
|
||||
APP_VERSION =
|
||||
|
||||
# (for TYPE == DRIVER only) Specify desired location of driver in the /dev
|
||||
# hierarchy. Used by the driverinstall rule. E.g., DRIVER_PATH = video/usb will
|
||||
# instruct the driverinstall rule to place a symlink to your driver's binary in
|
||||
# ~/add-ons/kernel/drivers/dev/video/usb, so that your driver will appear at
|
||||
# /dev/video/usb when loaded. Default is "misc".
|
||||
DRIVER_PATH =
|
||||
|
||||
## include the makefile-engine
|
||||
include $(BUILDHOME)/etc/makefile-engine
|
||||
Vendored
+310
@@ -0,0 +1,310 @@
|
||||
/*
|
||||
* Copyright 2012 Aleksas Pantechovskis, <[email protected]>
|
||||
* All rights reserved. Distributed under the terms of the MIT License.
|
||||
*/
|
||||
|
||||
#include <exception>
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string>
|
||||
#include <string.h>
|
||||
|
||||
#include <ByteOrder.h>
|
||||
#include <FindDirectory.h>
|
||||
#include <Path.h>
|
||||
#include <String.h>
|
||||
#include <TypeConstants.h>
|
||||
|
||||
|
||||
using namespace std;
|
||||
|
||||
|
||||
const char* kUsageMessage = \
|
||||
"proj2make usage:\n"
|
||||
"# proj2make <projPath> [makePath]\n"
|
||||
"# if makePath parameter doesn't specified makefile will be created in\n"
|
||||
"# the same directory as .proj file\n"
|
||||
"# example: proj2make /boot/home/myprog/myprog.proj\n";
|
||||
|
||||
fstream gProjFile;
|
||||
uint32 gProjLength;
|
||||
uint8* gProjData;
|
||||
|
||||
fstream gMakeFile;
|
||||
|
||||
fstream gTemplateFile;
|
||||
|
||||
string gSPthString;
|
||||
string gPPthString;
|
||||
string gFil1String;
|
||||
string gLinkString;
|
||||
string gPLnkString;
|
||||
|
||||
const char* gAppTypes[] = {
|
||||
"APP",
|
||||
"SHARED",
|
||||
"STAITC",
|
||||
"DRIVER"
|
||||
};
|
||||
|
||||
uint8 gAppType;
|
||||
string gAppName;
|
||||
|
||||
struct hdr
|
||||
{
|
||||
uint32 Id() { return
|
||||
static_cast<uint32>(B_BENDIAN_TO_HOST_INT32(fId)); }
|
||||
uint32 Size() { return
|
||||
static_cast<uint32>(B_BENDIAN_TO_HOST_INT32(fSize)); }
|
||||
const char* Data() { return (char*)(this + 1); }
|
||||
private:
|
||||
uint32 fId;
|
||||
uint32 fSize;
|
||||
};
|
||||
|
||||
|
||||
class Error : public std::exception
|
||||
{
|
||||
BString fWhat;
|
||||
public:
|
||||
Error(const char* what, ...);
|
||||
virtual ~Error() throw() {}
|
||||
virtual const char* what() const throw() { return fWhat.String(); }
|
||||
};
|
||||
|
||||
|
||||
Error::Error(const char* what, ...)
|
||||
{
|
||||
const int size = 1024;
|
||||
va_list args;
|
||||
va_start(args, what);
|
||||
vsnprintf(fWhat.LockBuffer(size), size, what, args);
|
||||
fWhat.UnlockBuffer();
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
CheckFiles(const char* projPath, const char* makePath)
|
||||
{
|
||||
gProjFile.open(projPath, fstream::in | fstream::binary);
|
||||
if (!gProjFile.is_open())
|
||||
throw Error("%s not found", projPath);
|
||||
|
||||
gProjFile.seekg(0, ios::end);
|
||||
uint32 projFileLength = gProjFile.tellg();
|
||||
gProjFile.seekg(0, ios::beg);
|
||||
|
||||
char* name = new char[5];
|
||||
gProjFile.read(name, 4);
|
||||
|
||||
uint32 length;
|
||||
gProjFile.read((char*)&length, 4);
|
||||
name[4] = '\0';
|
||||
length = static_cast<uint32>(B_BENDIAN_TO_HOST_INT32(length));
|
||||
gProjLength = length + 8;
|
||||
|
||||
if (strcmp(name, "MIDE") != 0 || gProjLength > projFileLength)
|
||||
throw Error("File corrupted or it is not BeIDE *.proj file");
|
||||
|
||||
gMakeFile.open(makePath, fstream::in);
|
||||
if (gMakeFile.is_open())
|
||||
throw Error("%s already exists", makePath);
|
||||
|
||||
gMakeFile.open(makePath, fstream::out);
|
||||
if (!gMakeFile.is_open())
|
||||
throw Error("Can not create makefile");
|
||||
|
||||
BPath templateFileName;
|
||||
// not supporter yet in my haiku rev
|
||||
// find_directory(B_SYSTEM_DEVELOP_DIR, &templateFileName);
|
||||
// templateFileName.Append("etc/makefile");
|
||||
templateFileName.SetTo("/boot/develop/etc/makefile");
|
||||
|
||||
gTemplateFile.open(templateFileName.Path(), fstream::in);
|
||||
if (!gTemplateFile.is_open())
|
||||
throw Error("Can not open template %s", templateFileName.Path());
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
ParseGenB(hdr* data)
|
||||
{
|
||||
hdr* child = (hdr*)data->Data();
|
||||
char* name = (char*)(child + 1);
|
||||
int len = strlen(name) + 1;
|
||||
|
||||
uint32 u = child->Id();
|
||||
char* c = (char*)&u;
|
||||
printf("\t%c%c%c%c:%d:%s\n", c[3], c[2], c[1], c[0], child->Size(), name);
|
||||
|
||||
if (strncmp(name, "ProjectPrefsx86", len - 1) == 0) {
|
||||
const char* type = child->Data() + len + 8;
|
||||
if (*type <= 3)
|
||||
gAppType = *type;
|
||||
type++;
|
||||
type += 64; // skip the mime type name
|
||||
gAppName = type;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class _l {
|
||||
static string _s;
|
||||
public:
|
||||
_l() { _s += " " ; }
|
||||
~_l() { _s.resize(_s.size() - 1); }
|
||||
|
||||
char* str() { _s.c_str(); }
|
||||
};
|
||||
|
||||
string _l::_s;
|
||||
|
||||
void
|
||||
Parse(hdr* current, hdr* parent)
|
||||
{
|
||||
_l l;
|
||||
|
||||
uint32 u = current->Id();
|
||||
char* c = (char*)&u;
|
||||
printf("%#06x:%s%c%c%c%c:%d\n",
|
||||
(uint8*)current - gProjData, l.str(),
|
||||
c[3], c[2], c[1], c[0], current->Size());
|
||||
|
||||
bool useGrandParent = false;
|
||||
size_t off = 0;
|
||||
switch(current->Id()) {
|
||||
case 'Fil1':
|
||||
case 'Link':
|
||||
case 'PLnk':
|
||||
off = 24;
|
||||
break;
|
||||
case 'MIDE':
|
||||
case 'DPrf':
|
||||
case 'GPrf':
|
||||
break;
|
||||
case 'MSFl':
|
||||
off = 8;
|
||||
useGrandParent = true;
|
||||
break;
|
||||
case 'SPth':
|
||||
gSPthString += " \\\n\t";
|
||||
gSPthString += ¤t->Data()[5];
|
||||
return;
|
||||
case 'PPth':
|
||||
gPPthString += " \\\n\t";
|
||||
gPPthString += ¤t->Data()[5];
|
||||
return;
|
||||
case 'Name':
|
||||
if (parent->Id() == 'Fil1') {
|
||||
gFil1String += " \\\n\t";
|
||||
gFil1String += ¤t->Data()[4];
|
||||
} else if (parent->Id() == 'Link') {
|
||||
gLinkString += " \\\n\t";
|
||||
gLinkString += ¤t->Data()[4];
|
||||
} else if (parent->Id() == 'PLnk') {
|
||||
gPLnkString += " \\\n\t";
|
||||
gPLnkString += ¤t->Data()[4];
|
||||
}
|
||||
return;
|
||||
case 'GenB':
|
||||
ParseGenB(current);
|
||||
return;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
||||
hdr* child = (hdr*)(current->Data() + off);
|
||||
while (off < current->Size()) {
|
||||
Parse(child, useGrandParent ? parent : current);
|
||||
off += child->Size() + sizeof(hdr);
|
||||
child = (hdr*)(child->Data() + child->Size());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
ReadProj()
|
||||
{
|
||||
gProjFile.seekg(0, ios::beg);
|
||||
gProjData = new uint8[gProjLength];
|
||||
gProjFile.read((char*)gProjData, gProjLength);
|
||||
gProjFile.close();
|
||||
|
||||
Parse((hdr*)gProjData, NULL);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
Proj2Make()
|
||||
{
|
||||
gFil1String = " ";
|
||||
gLinkString = " ";
|
||||
gPLnkString = " ";
|
||||
gSPthString = " ";
|
||||
gPPthString = " ";
|
||||
|
||||
ReadProj();
|
||||
string str;
|
||||
while (gTemplateFile.good()) {
|
||||
getline(gTemplateFile, str);
|
||||
|
||||
if (str.find("SRCS") == 0)
|
||||
str = str + gFil1String;
|
||||
else if (str.find("LIBS") == 0)
|
||||
str = str + gLinkString;
|
||||
else if (str.find("SYSTEM_INCLUDE_PATHS") == 0)
|
||||
str = str + gSPthString;
|
||||
else if (str.find("LOCAL_INCLUDE_PATHS") == 0)
|
||||
str = str + gPPthString;
|
||||
else if (str.find("TYPE") == 0)
|
||||
str = str + gAppTypes[gAppType];
|
||||
else if (str.find("NAME") == 0)
|
||||
str = str + gAppName;
|
||||
else if (str.find("RSRCS") == 0)
|
||||
str = str + gPLnkString;
|
||||
|
||||
gMakeFile << str << endl;
|
||||
}
|
||||
|
||||
gMakeFile.close();
|
||||
gTemplateFile.close();
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
main(int argc, char** argv)
|
||||
{
|
||||
try {
|
||||
if (argc <= 1 || (argc > 1 && strcmp(argv[1], "--help") == 0))
|
||||
throw Error("");
|
||||
|
||||
BString projPath = argv[1];
|
||||
|
||||
BString makePath;
|
||||
// if makefile path specified
|
||||
if (argc > 2)
|
||||
makePath = argv[2];
|
||||
// default makefile path
|
||||
else {
|
||||
BPath path(argv[1]);
|
||||
path.GetParent(&path);
|
||||
path.Append("makefile");
|
||||
makePath = path.Path();
|
||||
}
|
||||
|
||||
CheckFiles(projPath.String(), makePath.String());
|
||||
|
||||
Proj2Make();
|
||||
|
||||
} catch(exception& exc) {
|
||||
cerr << argv[0] << " : " << exc.what() << endl;
|
||||
cerr << kUsageMessage;
|
||||
return B_ERROR;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/vmware
|
||||
config.version = "8"
|
||||
virtualHW.version = "3"
|
||||
virtualHW.version = "6"
|
||||
|
||||
MemAllowAutoScaleDown = "false"
|
||||
MemTrimRate = "-1"
|
||||
|
||||
Vendored
+1
-1
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/vmware
|
||||
config.version = "8"
|
||||
virtualHW.version = "3"
|
||||
virtualHW.version = "6"
|
||||
|
||||
MemAllowAutoScaleDown = "false"
|
||||
MemTrimRate = "-1"
|
||||
|
||||
Vendored
+1
-1
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/vmware
|
||||
config.version = "8"
|
||||
virtualHW.version = "3"
|
||||
virtualHW.version = "6"
|
||||
|
||||
MemAllowAutoScaleDown = "false"
|
||||
MemTrimRate = "-1"
|
||||
|
||||
@@ -113,7 +113,6 @@ Depends ScreenSaverKit :
|
||||
# TODO: src/add-ons/locale/collators/GermanDIN-2.cpp does not compile
|
||||
NotFile LocaleKit ;
|
||||
Depends LocaleKit :
|
||||
liblocale.so
|
||||
Locale
|
||||
|
||||
# binaries for building localized software on haiku
|
||||
@@ -129,20 +128,20 @@ Depends LocaleKit :
|
||||
LocaleKitTests
|
||||
;
|
||||
|
||||
# Prepare the optional build features before parsing the Jamfile tree.
|
||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) OptionalBuildFeatures ] ;
|
||||
|
||||
# Add optional packages given via HAIKU_ADD_OPTIONAL_PACKAGES.
|
||||
if $(HAIKU_ADD_OPTIONAL_PACKAGES) {
|
||||
AddOptionalHaikuImagePackages
|
||||
[ FSplitString $(HAIKU_ADD_OPTIONAL_PACKAGES) : / ] ;
|
||||
}
|
||||
|
||||
# Prepare the optional build features before parsing the Jamfile tree.
|
||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) BuildFeatures ] ;
|
||||
|
||||
# Include packages that are required by all images.
|
||||
AddOptionalHaikuImagePackages MandatoryPackages ;
|
||||
|
||||
# If enabled, make sure that OpenSSL is added to the image.
|
||||
if $(HAIKU_OPENSSL_ENABLED) {
|
||||
if $(HAIKU_BUILD_FEATURE_OPENSSL_ENABLED) {
|
||||
AddOptionalHaikuImagePackages OpenSSL ;
|
||||
}
|
||||
|
||||
@@ -174,7 +173,11 @@ SubDir HAIKU_TOP ;
|
||||
UserBuildConfigRulePostBuildTargets ;
|
||||
|
||||
# specify the Haiku image and network boot archive contents
|
||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) HaikuImage ] ;
|
||||
if $(TARGET_ARCH) = x86_64 {
|
||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) Haiku64Image ] ;
|
||||
} else {
|
||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) HaikuImage ] ;
|
||||
}
|
||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) NetBootArchive ] ;
|
||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) FloppyBootImage ] ;
|
||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) CDBootImage ] ;
|
||||
|
||||
@@ -42,9 +42,9 @@ include [ FDirName $(HAIKU_BUILD_RULES_DIR) CommandLineArguments ] ;
|
||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) ConfigRules ] ;
|
||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) DocumentationRules ] ;
|
||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) FileRules ] ;
|
||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) FreetypeRules ] ;
|
||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) HeadersRules ] ;
|
||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) KernelRules ] ;
|
||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) BootRules ] ;
|
||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) ImageRules ] ;
|
||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) CDRules ] ;
|
||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) MainBuildRules ] ;
|
||||
@@ -89,11 +89,4 @@ if $(HAIKU_BUILD_PROFILE) && ! $(HAIKU_BUILD_PROFILE_DEFINED) {
|
||||
}
|
||||
}
|
||||
|
||||
# Include embedded board-specific file.
|
||||
# UserBuildConfig can override HAIKU_BOOT_BOARD.
|
||||
if $(HAIKU_BOOT_BOARD) {
|
||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) board $(HAIKU_BOOT_BOARD)
|
||||
BoardSetup ] ;
|
||||
}
|
||||
|
||||
PrepareConfigVariables ;
|
||||
|
||||
@@ -24,7 +24,7 @@ Pre-requisite software
|
||||
|
||||
Tools provided within Haiku's repositories
|
||||
|
||||
* Jam (Jam 2.5-haiku-20090626)
|
||||
* Jam (Jam 2.5-haiku-20111222)
|
||||
* Haiku's cross-compiler (needed only for non-Haiku platforms)
|
||||
|
||||
The tools to compile Haiku will vary, depending on the platform that you are
|
||||
@@ -32,7 +32,7 @@ using to build Haiku. When building from Haiku, all of the necessary
|
||||
development tools are included in official releases (e.g. R1 alpha 1) and in the
|
||||
(unstable) nightly builds.
|
||||
|
||||
* Subversion client
|
||||
* Git client
|
||||
* SSH client (for developers with commit access)
|
||||
* gcc and the binutils (as, ld, etc., required by gcc)
|
||||
* make (GNU make)
|
||||
@@ -60,6 +60,10 @@ The following tools are needed to compile Haiku for the ARM platform
|
||||
* Mtools (http://www.gnu.org/software/mtools/intro.html)
|
||||
* sfdisk
|
||||
|
||||
Specific: Linux
|
||||
---------------
|
||||
* zlib1g-dev (for building GCC4 buildtools on Linux hosts)
|
||||
|
||||
Specific: Mac OS X
|
||||
------------------
|
||||
|
||||
@@ -71,6 +75,13 @@ The following darwin ports need to be installed:
|
||||
* libiconv
|
||||
* gnuregex
|
||||
* gsed
|
||||
* cdrtools
|
||||
* yasm
|
||||
* wget
|
||||
* less
|
||||
* mpfr
|
||||
* gmp
|
||||
* libmpc
|
||||
|
||||
More information about individual distributions of Linux and BSD can be found
|
||||
at http://haiku-os.org/guides/building/pre-reqs
|
||||
@@ -84,12 +95,12 @@ of build tools for compiling Haiku on an operating system other than Haiku.
|
||||
The buildtools are needed only for non-Haiku platform.
|
||||
|
||||
Anonymous checkout:
|
||||
svn co http://svn.haiku-os.org/haiku/haiku/trunk haiku
|
||||
svn co http://svn.haiku-os.org/haiku/buildtools/trunk buildtools
|
||||
git clone git://git.haiku-os.org/haiku
|
||||
git clone git://git.haiku-os.org/buildtools
|
||||
|
||||
Developer with commit access:
|
||||
svn co svn+ssh://<developer-account>@svn.haiku-os.org/srv/svn/repos/haiku/haiku/trunk haiku
|
||||
svn co svn+ssh://<developer-account>@svn.haiku-os.org/srv/svn/repos/haiku/buildtools/trunk buildtools
|
||||
git clone ssh://git.haiku-os.org/haiku
|
||||
git clone ssh://git.haiku-os.org/buildtools
|
||||
|
||||
|
||||
Building the Jam executable
|
||||
@@ -158,7 +169,7 @@ http://www.haiku-os.org/guides/building/gcc-hybrid
|
||||
Configure options
|
||||
-----------------
|
||||
|
||||
The various runtime options for configure are documented in it's onscreen help
|
||||
The various runtime options for configure are documented in its onscreen help
|
||||
|
||||
./configure --help
|
||||
|
||||
@@ -246,7 +257,7 @@ partition in your bootmanager and try to boot Haiku like any other OS you
|
||||
have installed. To include a new partition in the Haiku bootmanager run this
|
||||
in a Terminal:
|
||||
|
||||
bootman
|
||||
BootManager
|
||||
|
||||
On Emulated Hardware
|
||||
--------------------
|
||||
|
||||
@@ -3,6 +3,23 @@ Greetings.
|
||||
This document is intended to serve as an introduction to the Haiku project.
|
||||
As such, this is only the tip of the iceberg.
|
||||
|
||||
|
||||
About the Haiku project
|
||||
-----------------------
|
||||
The Haiku project is comprised of numerous volunteers spread across the globe.
|
||||
While Haiku supports localization efforts, the primary language is English.
|
||||
The project is mindful of the language barrier for non-English speakers. To
|
||||
note, the native language of the majority of contributors is not English.
|
||||
|
||||
|
||||
Design goals
|
||||
------------
|
||||
If the ideology of the Haiku project were to be explained in a few short words,
|
||||
it would be something like this. The software shall have sensible defaults with
|
||||
minimal configuration required. The code shall adhere to the coding guidelines
|
||||
and implement the functionality in best possible manner.
|
||||
|
||||
|
||||
Haiku project website
|
||||
---------------------
|
||||
http://www.haiku-os.org
|
||||
@@ -12,6 +29,19 @@ the project, blog posts (from developers, Google Summer of Code participants,
|
||||
and other frequent contributors), forums, and a vast collection of information.
|
||||
|
||||
|
||||
Communication
|
||||
-------------
|
||||
http://www.haiku-os.org/community/ml
|
||||
http://www.haiku-os.org/community/ml/etiquette
|
||||
|
||||
The primary means of communication are through mailing lists and are generally
|
||||
hosted by FreeLists. In addition to the mailing lists (ML), numerous users and
|
||||
contributors frequent IRC (irc.freenode.net#haiku). There is also BeShare, an
|
||||
online chat and file sharing application.
|
||||
* http://haikuware.com/directory/view-details/internet-network/chat-irc/beshare
|
||||
* http://dev.osdrawer.net/projects/beshare
|
||||
|
||||
|
||||
Development tracker
|
||||
-------------------
|
||||
http://dev.haiku-os.org/
|
||||
@@ -26,9 +56,13 @@ This is the Haiku project's development tracker.
|
||||
{OpenGrok
|
||||
---------
|
||||
http://haiku.it.su.se:8180/source
|
||||
http://grok.bikemonkey.org/source
|
||||
http://code.metager.de/source/xref/haiku
|
||||
https://github.com/search?q=repo%3Ahaiku%2Fhaiku&type=Code
|
||||
|
||||
Graciously provided by <name>.
|
||||
Graciously provided by Janne Johansson, Landon Fuller and MetaGer respectively.
|
||||
This allows you to quickly and easily search Haiku's source code.
|
||||
GitHub, while not {OpenGrok, also provides search functionality.
|
||||
|
||||
|
||||
Coding Guidelines
|
||||
@@ -80,9 +114,9 @@ there, you can view detailed reports and analysis of Haiku (and other open
|
||||
source software projects).
|
||||
|
||||
|
||||
Haiku Translation Assistant (HTA)
|
||||
Haiku Interface Translation
|
||||
---------------------------------
|
||||
http://hta.polytect.org/
|
||||
http://i18n.haiku-os.org/pootle
|
||||
|
||||
This is the current solution to assisting people in translating Haiku's
|
||||
on screen text to other languages. Consult the [haiku-i18n] mailing list
|
||||
@@ -93,9 +127,10 @@ Haiku User Guide Translation
|
||||
----------------------------
|
||||
http://i18n.haiku-os.org/userguide/
|
||||
|
||||
Similar to HTA, this site is for coordinating the efforts of translating Haiku's
|
||||
User Guide and Welcome page to other spoken languages. Subscribe to the
|
||||
[haiku-doc] mailing list: http://www.freelists.org/list/haiku-doc
|
||||
Similar to the Haiku Interface Translation, this site is for coordinating the
|
||||
efforts of translating Haiku's User Guide and Welcome page to other spoken
|
||||
languages. Subscribe to the [haiku-doc] mailing list:
|
||||
http://www.freelists.org/list/haiku-doc
|
||||
|
||||
|
||||
HaikuPorts
|
||||
|
||||
@@ -1 +1 @@
|
||||
To customize the settings defined in these headers, create a folder "user_config_headers" in the "build" folder and copy the headers you want to modify into that folder. Your custom headers will be ignored by SVN and the build system will automatically use them instead of the original ones. But be aware that when changes are commited to the files in "config_headers", you will have to apply them to your custom headers manually.
|
||||
To customize the settings defined in these headers, create a folder "user_config_headers" in the "build" folder and copy the headers you want to modify into that folder. Your custom headers will be ignored by the version control system and the build system will automatically use them instead of the original ones. But be aware that when changes are commited to the files in "config_headers", you will have to apply them to your custom headers manually.
|
||||
|
||||
@@ -101,14 +101,37 @@
|
||||
// Enables swap support.
|
||||
#define ENABLE_SWAP_SUPPORT 1
|
||||
|
||||
// Use the slab allocator as generic memory allocator (malloc()/free()).
|
||||
// Use the selected allocator as generic memory allocator (malloc()/free()).
|
||||
#define USE_DEBUG_HEAP_FOR_MALLOC 0
|
||||
// Heap implementation with additional debugging facilities.
|
||||
#define USE_GUARDED_HEAP_FOR_MALLOC 0
|
||||
// Heap implementation that allocates memory so that the end of the
|
||||
// allocation always coincides with a page end and is followed by a guard
|
||||
// page which is marked non-present. Out of bounds access (both read and
|
||||
// write) therefore cause a crash (unhandled page fault). Note that this
|
||||
// allocator is neither speed nor space efficient, indeed it wastes huge
|
||||
// amounts of pages and address space so it is quite easy to hit limits.
|
||||
#define USE_SLAB_ALLOCATOR_FOR_MALLOC 1
|
||||
// Heap implementation based on the slab allocator (for production use).
|
||||
|
||||
// Replace the object cache with the guarded heap to force debug features. Also
|
||||
// requires the use of the guarded heap for malloc.
|
||||
#define USE_GUARDED_HEAP_FOR_OBJECT_CACHE 0
|
||||
|
||||
// Enables additional sanity checks in the slab allocator's memory manager.
|
||||
#define DEBUG_SLAB_MEMORY_MANAGER_PARANOID_CHECKS 0
|
||||
|
||||
// Disables memory re-use in the guarded heap (freed memory is never reused and
|
||||
// stays invalid causing every access to crash). Note that this is a magnitude
|
||||
// more space inefficient than the guarded heap itself. Fully booting may not
|
||||
// work at all due to address space waste.
|
||||
#define DEBUG_GUARDED_HEAP_DISABLE_MEMORY_REUSE 0
|
||||
|
||||
// When set limits the amount of available RAM (in MB).
|
||||
//#define LIMIT_AVAILABLE_MEMORY 256
|
||||
|
||||
// Enables tracking of page allocations.
|
||||
#define VM_PAGE_ALLOCATION_TRACKING 0
|
||||
|
||||
|
||||
#endif // KERNEL_DEBUG_CONFIG_H
|
||||
|
||||
@@ -28,6 +28,8 @@
|
||||
#define BMESSAGE_TRACING 0
|
||||
#define FILE_DESCRIPTOR_TRACING 0
|
||||
#define FILE_DESCRIPTOR_TRACING_STACK_TRACE 0 /* stack trace depth */
|
||||
#define GUARDED_HEAP_TRACING 0
|
||||
#define GUARDED_HEAP_TRACING_STACK_TRACE 0 /* stack trace depth */
|
||||
#define IO_CONTEXT_TRACING 0
|
||||
#define IO_CONTEXT_TRACING_STACK_TRACE 0 /* stack trace depth */
|
||||
#define KERNEL_HEAP_TRACING 0
|
||||
@@ -35,6 +37,7 @@
|
||||
#define NET_BUFFER_TRACING 0
|
||||
#define NET_BUFFER_TRACING_STACK_TRACE 0 /* stack trace depth */
|
||||
#define PAGE_ALLOCATION_TRACING 0
|
||||
#define PAGE_ALLOCATION_TRACING_STACK_TRACE 0 /* stack trace depth */
|
||||
#define PAGE_DAEMON_TRACING 0
|
||||
#define PAGE_STATE_TRACING 0
|
||||
#define PAGE_STATE_TRACING_STACK_TRACE 0 /* stack trace depth */
|
||||
|
||||
@@ -0,0 +1,129 @@
|
||||
|
||||
rule SetupBoot
|
||||
{
|
||||
# Usage SetupBoot <sources_or_objects> : <extra_cc_flags> : <include_private_headers> ;
|
||||
#
|
||||
# <sources_or_objects> - Ideally sources, otherwise HDRSEARCH can not be
|
||||
# set for the sources and the sources some header
|
||||
# dependencies might be missing.
|
||||
|
||||
local sources = [ FGristFiles $(1) ] ;
|
||||
local objects = $(sources:S=$(SUFOBJ)) ;
|
||||
|
||||
# add private kernel headers
|
||||
if $(3) != false {
|
||||
SourceSysHdrs $(sources) : $(TARGET_PRIVATE_KERNEL_HEADERS) ;
|
||||
}
|
||||
|
||||
local object ;
|
||||
for object in $(objects) {
|
||||
# add boot flags for the object
|
||||
ObjectCcFlags $(object) : $(TARGET_BOOT_CCFLAGS) $(2) ;
|
||||
ObjectC++Flags $(object) : $(TARGET_BOOT_C++FLAGS) $(2) ;
|
||||
ObjectDefines $(object) : $(TARGET_KERNEL_DEFINES) ;
|
||||
ASFLAGS on $(object) = $(TARGET_BOOT_CCFLAGS) ;
|
||||
|
||||
# override warning flags
|
||||
TARGET_WARNING_CCFLAGS on $(object) = $(TARGET_KERNEL_WARNING_CCFLAGS) ;
|
||||
TARGET_WARNING_C++FLAGS on $(object)
|
||||
= $(TARGET_KERNEL_WARNING_C++FLAGS) ;
|
||||
}
|
||||
}
|
||||
|
||||
rule BootObjects
|
||||
{
|
||||
SetupBoot $(1) : $(2) ;
|
||||
Objects $(1) ;
|
||||
}
|
||||
|
||||
rule BootLd
|
||||
{
|
||||
# BootLd <name> : <objs> : <linkerscript> : <args> ;
|
||||
|
||||
LINK on $(1) = $(TARGET_LD) ;
|
||||
|
||||
LINKFLAGS on $(1) = $(4) ;
|
||||
if $(3) { LINKFLAGS on $(1) += --script=$(3) ; }
|
||||
|
||||
# Remove any preset LINKLIBS, but link against libgcc.a. Linking against
|
||||
# libsupc++ is opt-out.
|
||||
local libs ;
|
||||
if ! [ on $(1) return HAIKU_NO_LIBSUPC++ ] {
|
||||
libs += $(TARGET_BOOT_LIBSUPC++) ;
|
||||
}
|
||||
LINKLIBS on $(1) = $(libs) $(TARGET_BOOT_LIBGCC) ;
|
||||
|
||||
# TODO: Do we really want to invoke SetupBoot here? The objects should
|
||||
# have been compiled with BootObjects anyway, so we're doing that twice.
|
||||
SetupBoot $(2) ;
|
||||
|
||||
# Show that we depend on the libraries we need
|
||||
LocalClean clean : $(1) ;
|
||||
LocalDepends all : $(1) ;
|
||||
Depends $(1) : $(2) ;
|
||||
|
||||
MakeLocateDebug $(1) ;
|
||||
|
||||
on $(1) XRes $(1) : $(RESFILES) ;
|
||||
if ! [ on $(1) return $(DONT_USE_BEOS_RULES) ] {
|
||||
SetType $(1) ;
|
||||
MimeSet $(1) ;
|
||||
SetVersion $(1) ;
|
||||
}
|
||||
}
|
||||
|
||||
actions BootLd bind VERSION_SCRIPT
|
||||
{
|
||||
$(LINK) $(LINKFLAGS) -o "$(1)" "$(2)" $(LINKLIBS) \
|
||||
--version-script=$(VERSION_SCRIPT)
|
||||
}
|
||||
|
||||
rule BootMergeObject
|
||||
{
|
||||
# BootMergeObject <name> : <sources> : <extra CFLAGS> : <other objects> ;
|
||||
# Compiles source files and merges the object files to an object file.
|
||||
# <name>: Name of the object file to create. No grist will be added.
|
||||
# <sources>: Sources to be compiled. Grist will be added.
|
||||
# <extra CFLAGS>: Additional flags for compilation.
|
||||
# <other objects>: Object files or static libraries to be merged. No grist
|
||||
# will be added.
|
||||
#
|
||||
|
||||
SetupBoot $(2) : $(3) ;
|
||||
Objects $(2) ;
|
||||
MergeObjectFromObjects $(1) : $(2:S=$(SUFOBJ)) : $(4) ;
|
||||
LINKFLAGS on $(1) += $(TARGET_BOOT_LINKFLAGS) ;
|
||||
}
|
||||
|
||||
rule BootStaticLibrary
|
||||
{
|
||||
# Usage BootStaticLibrary <name> : <sources> : <extra cc flags> ;
|
||||
# This is designed to take a set of sources and libraries and create
|
||||
# a file called lib<name>.a
|
||||
|
||||
SetupBoot $(2) : $(3) : false ;
|
||||
Library $(1) : $(2) ;
|
||||
}
|
||||
|
||||
rule BootStaticLibraryObjects
|
||||
{
|
||||
# Usage BootStaticLibrary <name> : <sources> ;
|
||||
# This is designed to take a set of sources and libraries and create
|
||||
# a file called <name>
|
||||
|
||||
# Show that we depend on the libraries we need
|
||||
SetupBoot $(2) ;
|
||||
LocalClean clean : $(1) ;
|
||||
LocalDepends all : $(1) ;
|
||||
Depends $(1) : $(2) ;
|
||||
|
||||
MakeLocateDebug $(1) ;
|
||||
}
|
||||
|
||||
actions BootStaticLibraryObjects
|
||||
{
|
||||
# Force recreation of the archive to avoid build errors caused by
|
||||
# stale dependencies after renaming or deleting object files.
|
||||
$(RM) "$(1)"
|
||||
$(HAIKU_AR) -r "$(1)" "$(2)" ;
|
||||
}
|
||||
@@ -0,0 +1,894 @@
|
||||
# This file contains setup for build features that are not available for all
|
||||
# architectures/setups or that are optional for the build. For features that
|
||||
# require downloading a zip file from somewhere it is likely the same file used
|
||||
# for an optional package.
|
||||
|
||||
|
||||
# Add the target architecture as a build feature.
|
||||
EnableBuildFeatures $(HAIKU_ARCH) ;
|
||||
|
||||
if $(HAIKU_GCC_VERSION[1]) = 2 {
|
||||
EnableBuildFeatures gcc2 ;
|
||||
}
|
||||
|
||||
|
||||
local baseURL = http://www.haiku-files.org/files/optional-packages ;
|
||||
local hpkgBaseURL = http://haiku-files.org/files/hpkg ;
|
||||
|
||||
|
||||
# SSL
|
||||
|
||||
# Automatically enable the SSL feature, when the optional OpenSSL optional
|
||||
# package is enabled.
|
||||
if [ IsOptionalHaikuImagePackageAdded OpenSSL ] {
|
||||
HAIKU_BUILD_FEATURE_SSL = 1 ;
|
||||
}
|
||||
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
if $(TARGET_ARCH) = x86_64 {
|
||||
HAIKU_OPENSSL_PACKAGE = openssl-1.0.0j-x86_64-2012-12-18.zip ;
|
||||
} else {
|
||||
HAIKU_OPENSSL_PACKAGE = openssl-1.0.0j-r1a4-x86-gcc4-2012-08-29.zip ;
|
||||
}
|
||||
} else {
|
||||
HAIKU_OPENSSL_PACKAGE = openssl-1.0.0j-1-x86_gcc2.hpkg ;
|
||||
}
|
||||
|
||||
HAIKU_OPENSSL_URL = $(hpkgBaseURL)/$(HAIKU_OPENSSL_PACKAGE) ;
|
||||
|
||||
if $(HAIKU_BUILD_FEATURE_SSL) {
|
||||
if $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 {
|
||||
# Download the package.
|
||||
local zipFile = [ DownloadFile $(HAIKU_OPENSSL_PACKAGE)
|
||||
: $(HAIKU_OPENSSL_URL) ] ;
|
||||
|
||||
# zip file and output directory
|
||||
HAIKU_OPENSSL_ZIP_FILE = $(zipFile) ;
|
||||
HAIKU_OPENSSL_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_OPENSSL_PACKAGE:B) ] ;
|
||||
|
||||
# extract headers and libraries
|
||||
HAIKU_OPENSSL_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_OPENSSL_DIR)
|
||||
: develop/headers/ : $(zipFile) : extracted-openssl
|
||||
] ;
|
||||
|
||||
HAIKU_OPENSSL_LIBS = [ ExtractArchive $(HAIKU_OPENSSL_DIR)
|
||||
:
|
||||
develop/lib/libcrypto.so
|
||||
develop/lib/libssl.so
|
||||
: $(zipFile)
|
||||
: extracted-openssl
|
||||
] ;
|
||||
|
||||
HAIKU_OPENSSL_HEADERS
|
||||
= [ FDirName $(HAIKU_OPENSSL_DIR) develop/headers ] ;
|
||||
|
||||
EnableBuildFeatures openssl ;
|
||||
} else {
|
||||
Echo "SSL build feature not available for $(TARGET_ARCH)" ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# ICU
|
||||
|
||||
# Note ICU isn't actually optional, but is still an external package
|
||||
HAIKU_ICU_GCC_2_PACKAGE = icu-4.8.1.1-2-x86_gcc2.hpkg ;
|
||||
HAIKU_ICU_GCC_4_PACKAGE = icu-4.8.1.1-r1a4-x86-gcc4-2012-08-29.zip ;
|
||||
# TODO: Make hpkg!
|
||||
HAIKU_ICU_PPC_PACKAGE = icu-4.8.1-ppc-2011-08-20.zip ;
|
||||
HAIKU_ICU_ARM_PACKAGE = icu-4.8.1.1-arm-2012-11-21.zip ;
|
||||
HAIKU_ICU_X86_64_PACKAGE = icu-4.8.1.1-x86_64-2012-07-30.zip ;
|
||||
|
||||
if $(TARGET_ARCH) in arm ppc x86 x86_64 {
|
||||
local icu_package ;
|
||||
if $(TARGET_ARCH) = ppc {
|
||||
icu_package = $(HAIKU_ICU_PPC_PACKAGE) ;
|
||||
HAIKU_ICU_DEVEL_PACKAGE = icu-devel-4.8.1-ppc-2011-12-19.zip ;
|
||||
} else if $(TARGET_ARCH) = arm {
|
||||
icu_package = $(HAIKU_ICU_ARM_PACKAGE) ;
|
||||
HAIKU_ICU_DEVEL_PACKAGE = icu-devel-4.8.1.1-arm-2012-11-21.zip ;
|
||||
} else if $(TARGET_ARCH) = x86_64 {
|
||||
icu_package = $(HAIKU_ICU_X86_64_PACKAGE) ;
|
||||
HAIKU_ICU_DEVEL_PACKAGE = icu-devel-4.8.1.1-x86_64-2012-07-30.zip ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) = 2 {
|
||||
icu_package = $(HAIKU_ICU_GCC_2_PACKAGE) ;
|
||||
HAIKU_ICU_DEVEL_PACKAGE = icu_devel-4.8.1.1-2-x86_gcc2.hpkg ;
|
||||
} else {
|
||||
icu_package = $(HAIKU_ICU_GCC_4_PACKAGE) ;
|
||||
HAIKU_ICU_DEVEL_PACKAGE = icu-devel-4.8.1.1-x86-gcc4-2011-12-20.zip ;
|
||||
}
|
||||
local packageFile = [ DownloadFile $(icu_package)
|
||||
: $(hpkgBaseURL)/$(icu_package) ] ;
|
||||
|
||||
# zip file and output directory
|
||||
HAIKU_ICU_PACKAGE_FILE = $(packageFile) ;
|
||||
HAIKU_ICU_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(icu_package:B) ] ;
|
||||
|
||||
# extract libraries
|
||||
if $(TARGET_ARCH) = ppc {
|
||||
HAIKU_ICU_LIBS = [ ExtractArchive $(HAIKU_ICU_DIR)
|
||||
:
|
||||
libicudata.so.48.1
|
||||
libicui18n.so.48.1
|
||||
libicuio.so.48.1
|
||||
libicule.so.48.1
|
||||
libiculx.so.48.1
|
||||
libicutu.so.48.1
|
||||
libicuuc.so.48.1
|
||||
: $(packageFile)
|
||||
: extracted-icu
|
||||
] ;
|
||||
} else {
|
||||
HAIKU_ICU_LIBS = [ ExtractArchive $(HAIKU_ICU_DIR)
|
||||
:
|
||||
develop/lib/libicudata.so.48.1.1
|
||||
develop/lib/libicui18n.so.48.1.1
|
||||
develop/lib/libicuio.so.48.1.1
|
||||
develop/lib/libicule.so.48.1.1
|
||||
develop/lib/libiculx.so.48.1.1
|
||||
develop/lib/libicutu.so.48.1.1
|
||||
develop/lib/libicuuc.so.48.1.1
|
||||
: $(packageFile)
|
||||
: extracted-icu
|
||||
] ;
|
||||
}
|
||||
|
||||
# zip file and output directory
|
||||
HAIKU_ICU_DEVEL_ZIP_FILE = [ DownloadFile $(HAIKU_ICU_DEVEL_PACKAGE)
|
||||
: $(hpkgBaseURL)/$(HAIKU_ICU_DEVEL_PACKAGE) ] ;
|
||||
HAIKU_ICU_DEVEL_DIR = $(HAIKU_ICU_DIR) ;
|
||||
|
||||
# extract headers
|
||||
HAIKU_ICU_HEADERS_DEPENDENCY = [ ExtractArchive
|
||||
$(HAIKU_ICU_DEVEL_DIR:G=icu_devel)
|
||||
# We need a grist here, so it's a different target than the one for the
|
||||
# main package, even though it's the same directory.
|
||||
: develop/headers : $(HAIKU_ICU_DEVEL_ZIP_FILE)
|
||||
: extracted-icu-devel ] ;
|
||||
|
||||
HAIKU_ICU_HEADERS
|
||||
= [ FDirName $(HAIKU_ICU_DEVEL_DIR) develop headers ] ;
|
||||
|
||||
EnableBuildFeatures icu ;
|
||||
} else {
|
||||
Echo "ICU not available for $(TARGET_ARCH)" ;
|
||||
}
|
||||
|
||||
|
||||
# CLucene
|
||||
|
||||
# Automatically install the CLucene feature, when the optional CLucene optional
|
||||
# package is enabled.
|
||||
if [ IsOptionalHaikuImagePackageAdded CLucene ] {
|
||||
HAIKU_BUILD_FEATURE_CLUCENE = 1 ;
|
||||
}
|
||||
|
||||
|
||||
HAIKU_CLUCENE_PACKAGE = clucene-0.9.21-x86-gcc4-haiku-2009-08-11.zip ;
|
||||
HAIKU_CLUCENE_URL = $(baseURL)/$(HAIKU_CLUCENE_PACKAGE) ;
|
||||
|
||||
if $(HAIKU_BUILD_FEATURE_CLUCENE) {
|
||||
if $(TARGET_ARCH) != x86 {
|
||||
Echo "CLucene build feature not available for $(TARGET_ARCH)" ;
|
||||
} else {
|
||||
# Download the zip archive.
|
||||
local zipFile = [ DownloadFile $(HAIKU_CLUCENE_PACKAGE)
|
||||
: $(HAIKU_CLUCENE_URL) ] ;
|
||||
|
||||
# zip file and output directory
|
||||
HAIKU_CLUCENE_ZIP_FILE = $(zipFile) ;
|
||||
HAIKU_CLUCENE_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_CLUCENE_PACKAGE:B) ] ;
|
||||
|
||||
# extract headers and libraries
|
||||
HAIKU_CLUCENE_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_CLUCENE_DIR)
|
||||
: common/include/ : $(zipFile) : extracted-clucene
|
||||
] ;
|
||||
|
||||
HAIKU_CLUCENE_LIBS = [ ExtractArchive $(HAIKU_CLUCENE_DIR)
|
||||
:
|
||||
common/lib/libclucene.a
|
||||
: $(zipFile)
|
||||
: extracted-clucene
|
||||
] ;
|
||||
|
||||
HAIKU_CLUCENE_HEADERS
|
||||
= [ FDirName $(HAIKU_CLUCENE_DIR) common include ] ;
|
||||
|
||||
EnableBuildFeatures clucene ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# LLVM
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
HAIKU_LLVM_FILE = llvm-3.2-x86-gcc4-2012-12-21.zip ;
|
||||
local zipFile = [ DownloadFile $(HAIKU_LLVM_FILE)
|
||||
: $(baseURL)/$(HAIKU_LLVM_FILE) ] ;
|
||||
|
||||
HAIKU_LLVM_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_LLVM_FILE:B) ] ;
|
||||
|
||||
HAIKU_LLVM_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_LLVM_DIR)
|
||||
: common/include/ : $(zipFile) : extracted-llvm ] ;
|
||||
HAIKU_LLVM_HEADERS = [ FDirName $(HAIKU_LLVM_DIR) common include ] ;
|
||||
|
||||
# We can't Glob these because they aren't extracted yet.
|
||||
HAIKU_LLVM_LIBS = [ ExtractArchive $(HAIKU_LLVM_DIR)
|
||||
:
|
||||
common/lib/libLLVMAsmParser.a
|
||||
common/lib/libLLVMInstrumentation.a
|
||||
common/lib/libLLVMLinker.a
|
||||
common/lib/libLLVMArchive.a
|
||||
common/lib/libLLVMBitReader.a
|
||||
common/lib/libLLVMDebugInfo.a
|
||||
common/lib/libLLVMJIT.a
|
||||
common/lib/libLLVMipo.a
|
||||
common/lib/libLLVMVectorize.a
|
||||
common/lib/libLLVMBitWriter.a
|
||||
common/lib/libLLVMTableGen.a
|
||||
#common/lib/libLLVMHexagonCodeGen.a
|
||||
#common/lib/libLLVMHexagonAsmPrinter.a
|
||||
#common/lib/libLLVMHexagonDesc.a
|
||||
#common/lib/libLLVMHexagonInfo.a
|
||||
#common/lib/libLLVMNVPTXCodeGen.a
|
||||
#common/lib/libLLVMNVPTXDesc.a
|
||||
#common/lib/libLLVMNVPTXInfo.a
|
||||
#common/lib/libLLVMNVPTXAsmPrinter.a
|
||||
#common/lib/libLLVMMBlazeCodeGen.a
|
||||
#common/lib/libLLVMMBlazeAsmParser.a
|
||||
#common/lib/libLLVMMBlazeDisassembler.a
|
||||
#common/lib/libLLVMMBlazeDesc.a
|
||||
#common/lib/libLLVMMBlazeInfo.a
|
||||
#common/lib/libLLVMMBlazeAsmPrinter.a
|
||||
common/lib/libLLVMCppBackendCodeGen.a
|
||||
common/lib/libLLVMCppBackendInfo.a
|
||||
#common/lib/libLLVMMSP430CodeGen.a
|
||||
#common/lib/libLLVMMSP430Desc.a
|
||||
#common/lib/libLLVMMSP430AsmPrinter.a
|
||||
#common/lib/libLLVMMSP430Info.a
|
||||
#common/lib/libLLVMXCoreCodeGen.a
|
||||
#common/lib/libLLVMXCoreDesc.a
|
||||
#common/lib/libLLVMXCoreInfo.a
|
||||
#common/lib/libLLVMCellSPUCodeGen.a
|
||||
#common/lib/libLLVMCellSPUDesc.a
|
||||
#common/lib/libLLVMCellSPUInfo.a
|
||||
#common/lib/libLLVMMipsAsmParser.a
|
||||
#common/lib/libLLVMMipsCodeGen.a
|
||||
#common/lib/libLLVMMipsDesc.a
|
||||
#common/lib/libLLVMMipsAsmPrinter.a
|
||||
#common/lib/libLLVMMipsDisassembler.a
|
||||
#common/lib/libLLVMMipsInfo.a
|
||||
#common/lib/libLLVMARMAsmParser.a
|
||||
#common/lib/libLLVMARMCodeGen.a
|
||||
#common/lib/libLLVMARMDisassembler.a
|
||||
#common/lib/libLLVMARMDesc.a
|
||||
#common/lib/libLLVMARMInfo.a
|
||||
#common/lib/libLLVMARMAsmPrinter.a
|
||||
#common/lib/libLLVMPowerPCCodeGen.a
|
||||
#common/lib/libLLVMPowerPCDesc.a
|
||||
#common/lib/libLLVMPowerPCInfo.a
|
||||
#common/lib/libLLVMPowerPCAsmPrinter.a
|
||||
#common/lib/libLLVMSparcCodeGen.a
|
||||
#common/lib/libLLVMSparcDesc.a
|
||||
#common/lib/libLLVMSparcInfo.a
|
||||
common/lib/libLLVMX86AsmParser.a
|
||||
common/lib/libLLVMX86CodeGen.a
|
||||
common/lib/libLLVMSelectionDAG.a
|
||||
common/lib/libLLVMAsmPrinter.a
|
||||
common/lib/libLLVMX86Disassembler.a
|
||||
common/lib/libLLVMX86Desc.a
|
||||
common/lib/libLLVMX86Info.a
|
||||
common/lib/libLLVMX86AsmPrinter.a
|
||||
common/lib/libLLVMX86Utils.a
|
||||
common/lib/libLLVMMCDisassembler.a
|
||||
common/lib/libLLVMMCParser.a
|
||||
common/lib/libLLVMInterpreter.a
|
||||
common/lib/libLLVMCodeGen.a
|
||||
common/lib/libLLVMScalarOpts.a
|
||||
common/lib/libLLVMInstCombine.a
|
||||
common/lib/libLLVMTransformUtils.a
|
||||
common/lib/libLLVMipa.a
|
||||
common/lib/libLLVMAnalysis.a
|
||||
common/lib/libLLVMMCJIT.a
|
||||
common/lib/libLLVMRuntimeDyld.a
|
||||
common/lib/libLLVMExecutionEngine.a
|
||||
common/lib/libLLVMTarget.a
|
||||
common/lib/libLLVMMC.a
|
||||
common/lib/libLLVMObject.a
|
||||
common/lib/libLLVMCore.a
|
||||
common/lib/libLLVMSupport.a
|
||||
: $(zipFile) : extracted-llvm ]
|
||||
;
|
||||
|
||||
EnableBuildFeatures llvm ;
|
||||
} else {
|
||||
# Nor will it ever be
|
||||
Echo "LLVM not available on GCC2" ;
|
||||
}
|
||||
} else {
|
||||
Echo "LLVM not yet available on $(TARGET_ARCH)" ;
|
||||
}
|
||||
|
||||
|
||||
# GLU (GL Utilities)
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
HAIKU_GLU_FILE = glu-9.0-x86-gcc4-2012-11-13.zip ;
|
||||
} else {
|
||||
HAIKU_GLU_FILE = glu-9.0-x86-gcc2-2012-11-13.zip ;
|
||||
}
|
||||
|
||||
local zipFile = [ DownloadFile $(HAIKU_GLU_FILE)
|
||||
: $(baseURL)/lib/$(HAIKU_GLU_FILE) ] ;
|
||||
|
||||
HAIKU_GLU_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_GLU_FILE:B) ] ;
|
||||
HAIKU_GLU_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_GLU_DIR)
|
||||
: develop/headers/os/opengl/GL : $(zipFile) : extracted-glu-headers ] ;
|
||||
HAIKU_GLU_LIBS = [ ExtractArchive $(HAIKU_GLU_DIR)
|
||||
: system/lib/libGLU.a : $(zipFile) : extracted-glu ] ;
|
||||
HAIKU_GLU_HEADERS = [ FDirName $(HAIKU_GLU_DIR) develop headers os opengl ] ;
|
||||
|
||||
EnableBuildFeatures glu ;
|
||||
} else {
|
||||
Echo "GLU not yet available on $(TARGET_ARCH)" ;
|
||||
}
|
||||
|
||||
|
||||
# Mesa
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
local zipFile ;
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
HAIKU_MESA_FILE = mesa-9.1.1-x86-gcc4-2013-04-27.zip ;
|
||||
} else {
|
||||
HAIKU_MESA_FILE = mesa-7.8.2-x86-gcc2-2013-04-28.zip ;
|
||||
}
|
||||
|
||||
zipFile = [ DownloadFile $(HAIKU_MESA_FILE)
|
||||
: $(baseURL)/$(HAIKU_MESA_FILE) ] ;
|
||||
|
||||
HAIKU_MESA_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_MESA_FILE:B) ] ;
|
||||
|
||||
HAIKU_MESA_HEADERS = [ FDirName $(HAIKU_MESA_DIR) include ] ;
|
||||
HAIKU_MESA_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_MESA_DIR)
|
||||
: include/ : $(zipFile) : extracted-mesa ] ;
|
||||
|
||||
# Base Mesa libraries
|
||||
HAIKU_MESA_LIB = [ ExtractArchive $(HAIKU_MESA_DIR)
|
||||
:
|
||||
lib.haiku/libmesa.a
|
||||
: $(zipFile)
|
||||
: extracted-mesa ] ;
|
||||
HAIKU_GLAPI_LIB = [ ExtractArchive $(HAIKU_MESA_DIR)
|
||||
:
|
||||
lib.haiku/libglapi.a
|
||||
: $(zipFile)
|
||||
: extracted-mesa ] ;
|
||||
|
||||
Depends $(HAIKU_MESA_HEADERS_DEPENDENCY) : $(HAIKU_GLU_HEADERS_DEPENDENCY) ;
|
||||
Depends $(HAIKU_GLAPI_LIBS) : $(HAIKU_GLU_LIBS) ;
|
||||
|
||||
# Extended Mesa libraries for newer versions
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
HAIKU_GLSL_LIB = [ ExtractArchive $(HAIKU_MESA_DIR)
|
||||
:
|
||||
lib.haiku/libglsl.a
|
||||
: $(zipFile)
|
||||
: extracted-mesa ] ;
|
||||
HAIKU_GALLIUM_LIB = [ ExtractArchive $(HAIKU_MESA_DIR)
|
||||
:
|
||||
lib.haiku/libgallium.a
|
||||
: $(zipFile)
|
||||
: extracted-mesa ] ;
|
||||
|
||||
if FIsBuildFeatureEnabled(llvm) {
|
||||
HAIKU_GALLIUM_LLVMPIPE_LIB = [ ExtractArchive $(HAIKU_MESA_DIR)
|
||||
:
|
||||
lib.haiku/libllvmpipe.a
|
||||
: $(zipFile)
|
||||
: extracted-mesa ] ;
|
||||
Depends $(HAIKU_GALLIUM_LLVMPIPE_LIB) : $(HAIKU_LLVM_LIBS) ;
|
||||
} else {
|
||||
HAIKU_GALLIUM_SOFTPIPE_LIB = [ ExtractArchive $(HAIKU_MESA_DIR)
|
||||
:
|
||||
lib.haiku/libsoftpipe.a
|
||||
: $(zipFile)
|
||||
: extracted-mesa ] ;
|
||||
}
|
||||
}
|
||||
|
||||
EnableBuildFeatures mesa ;
|
||||
} else {
|
||||
Echo "Mesa 3D rendering support not available on $(TARGET_ARCH)" ;
|
||||
}
|
||||
|
||||
|
||||
# FFmpeg
|
||||
local ffmpegBaseURL = $(baseURL)/lib ;
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
HAIKU_FFMPEG_FILE = ffmpeg-0.10.2-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
HAIKU_SPEEX_FILE = speex-1.2rc1-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
HAIKU_LIBTHEORA_FILE = libtheora-1.1.1-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
HAIKU_LIBVORBIS_FILE = libvorbis-1.3.2-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
HAIKU_LIBOGG_FILE = libogg-1.3.0-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
HAIKU_LIBVPX_FILE = libvpx-1.0.0-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
} else {
|
||||
HAIKU_FFMPEG_FILE = ffmpeg-0.10.2-r1a4-x86-gcc2-2012-08-30.zip ;
|
||||
HAIKU_SPEEX_FILE = speex-1.2rc1-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
HAIKU_LIBTHEORA_FILE = libtheora-1.1.1-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
HAIKU_LIBVORBIS_FILE = libvorbis-1.3.2-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
HAIKU_LIBOGG_FILE = libogg-1.3.0-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
HAIKU_LIBVPX_FILE = libvpx-1.0.0-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
}
|
||||
|
||||
local ffmpegZipFile = [ DownloadFile $(HAIKU_FFMPEG_FILE)
|
||||
: $(ffmpegBaseURL)/$(HAIKU_FFMPEG_FILE) ] ;
|
||||
local speexZipFile = [ DownloadFile $(HAIKU_SPEEX_FILE)
|
||||
: $(ffmpegBaseURL)/$(HAIKU_SPEEX_FILE) ] ;
|
||||
local libtheoraZipFile = [ DownloadFile $(HAIKU_LIBTHEORA_FILE)
|
||||
: $(ffmpegBaseURL)/$(HAIKU_LIBTHEORA_FILE) ] ;
|
||||
local libvorbisZipFile = [ DownloadFile $(HAIKU_LIBVORBIS_FILE)
|
||||
: $(ffmpegBaseURL)/$(HAIKU_LIBVORBIS_FILE) ] ;
|
||||
local liboggZipFile = [ DownloadFile $(HAIKU_LIBOGG_FILE)
|
||||
: $(ffmpegBaseURL)/$(HAIKU_LIBOGG_FILE) ] ;
|
||||
local libvpxZipFile = [ DownloadFile $(HAIKU_LIBVPX_FILE)
|
||||
: $(ffmpegBaseURL)/$(HAIKU_LIBVPX_FILE) ] ;
|
||||
|
||||
HAIKU_FFMPEG_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_FFMPEG_FILE:B) ] ;
|
||||
HAIKU_SPEEX_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_SPEEX_FILE:B) ] ;
|
||||
HAIKU_LIBTHEORA_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_LIBTHEORA_FILE:B) ] ;
|
||||
HAIKU_LIBVORBIS_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_LIBVORBIS_FILE:B) ] ;
|
||||
HAIKU_LIBOGG_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_LIBOGG_FILE:B) ] ;
|
||||
HAIKU_LIBVPX_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_LIBVPX_FILE:B) ] ;
|
||||
|
||||
HAIKU_FFMPEG_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_FFMPEG_DIR)
|
||||
: common/include/ : $(ffmpegZipFile) : extracted-ffmpeg ] ;
|
||||
HAIKU_SPEEX_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_SPEEX_DIR)
|
||||
: common/include/ : $(speexZipFile) : extracted-speex ] ;
|
||||
HAIKU_LIBTHEORA_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_LIBTHEORA_DIR)
|
||||
: common/include/ : $(libtheoraZipFile) : extracted-libtheora ] ;
|
||||
HAIKU_LIBVORBIS_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_LIBVORBIS_DIR)
|
||||
: common/include/ : $(libvorbisZipFile) : extracted-libvorbis ] ;
|
||||
HAIKU_LIBOGG_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_LIBOGG_DIR)
|
||||
: common/include/ : $(liboggZipFile) : extracted-libogg ] ;
|
||||
HAIKU_LIBVPX_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_LIBVPX_DIR)
|
||||
: common/include/ : $(libvpxZipFile) : extracted-libvpx ] ;
|
||||
|
||||
HAIKU_FFMPEG_LIBS = [ ExtractArchive $(HAIKU_FFMPEG_DIR)
|
||||
:
|
||||
common/lib/libavformat.a
|
||||
common/lib/libavcodec.a
|
||||
common/lib/libavdevice.a
|
||||
common/lib/libavfilter.a
|
||||
common/lib/libswscale.a
|
||||
common/lib/libavutil.a
|
||||
: $(ffmpegZipFile)
|
||||
: extracted-ffmpeg ] ;
|
||||
Depends $(HAIKU_FFMPEG_LIBS) : $(HAIKU_FFMPEG_HEADERS_DEPENDENCY) ;
|
||||
|
||||
HAIKU_SPEEX_LIBS = [ ExtractArchive $(HAIKU_SPEEX_DIR)
|
||||
:
|
||||
common/lib/libspeex.a
|
||||
: $(speexZipFile)
|
||||
: extracted-speex ] ;
|
||||
Depends $(HAIKU_SPEEX_LIBS) : $(HAIKU_SPEEX_HEADERS_DEPENDENCY) ;
|
||||
|
||||
HAIKU_LIBTHEORA_LIBS = [ ExtractArchive $(HAIKU_LIBTHEORA_DIR)
|
||||
:
|
||||
common/lib/libtheora.a
|
||||
common/lib/libtheoradec.a
|
||||
common/lib/libtheoraenc.a
|
||||
: $(libtheoraZipFile)
|
||||
: extracted-libtheora ] ;
|
||||
Depends $(HAIKU_LIBTHEORA_LIBS) : $(HAIKU_LIBTHEORA_HEADERS_DEPENDENCY) ;
|
||||
|
||||
|
||||
HAIKU_LIBVORBIS_LIBS = [ ExtractArchive $(HAIKU_LIBVORBIS_DIR)
|
||||
:
|
||||
common/lib/libvorbis.a
|
||||
common/lib/libvorbisenc.a
|
||||
: $(libvorbisZipFile)
|
||||
: extracted-libvorbis ] ;
|
||||
Depends $(HAIKU_LIBVORBIS_LIBS) : $(HAIKU_LIBVORBIS_HEADERS_DEPENDENCY) ;
|
||||
|
||||
|
||||
HAIKU_LIBOGG_LIBS = [ ExtractArchive $(HAIKU_LIBOGG_DIR)
|
||||
:
|
||||
common/lib/libogg.a
|
||||
: $(liboggZipFile)
|
||||
: extracted-libogg ] ;
|
||||
Depends $(HAIKU_LIBOGG_LIBS) : $(HAIKU_LIBOGG_HEADERS_DEPENDENCY) ;
|
||||
|
||||
HAIKU_LIBVPX_LIBS = [ ExtractArchive $(HAIKU_LIBVPX_DIR)
|
||||
:
|
||||
common/lib/libvpx.a
|
||||
: $(libvpxZipFile)
|
||||
: extracted-libvpx ] ;
|
||||
Depends $(HAIKU_LIBVPX_LIBS) : $(HAIKU_LIBVPX_HEADERS_DEPENDENCY) ;
|
||||
|
||||
HAIKU_FFMPEG_HEADERS = [ FDirName $(HAIKU_FFMPEG_DIR) common include ] ;
|
||||
HAIKU_SPEEX_HEADERS = [ FDirName $(HAIKU_SPEEX_DIR) common include ] ;
|
||||
HAIKU_LIBTHEORA_HEADERS = [ FDirName $(HAIKU_LIBTHEORA_DIR) common include ] ;
|
||||
HAIKU_LIBVORBIS_HEADERS = [ FDirName $(HAIKU_LIBVORBIS_DIR) common include ] ;
|
||||
HAIKU_LIBOGG_HEADERS = [ FDirName $(HAIKU_LIBOGG_DIR) common include ] ;
|
||||
HAIKU_LIBVPX_HEADERS = [ FDirName $(HAIKU_LIBVPX_DIR) common include ] ;
|
||||
|
||||
EnableBuildFeatures ffmpeg ;
|
||||
} else {
|
||||
Echo "FFMpeg support not available on $(TARGET_ARCH)" ;
|
||||
}
|
||||
|
||||
|
||||
# MikMod
|
||||
local mikmodBaseURL = http://haiku-files.org/files/optional-packages/lib ;
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
HAIKU_MIKMOD_FILE = libmikmod-3.1.11-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
} else {
|
||||
HAIKU_MIKMOD_FILE = libmikmod-3.1.11-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
}
|
||||
|
||||
local mikmodZipFile = [ DownloadFile $(HAIKU_MIKMOD_FILE)
|
||||
: $(mikmodBaseURL)/$(HAIKU_MIKMOD_FILE) ] ;
|
||||
|
||||
HAIKU_MIKMOD_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_MIKMOD_FILE:B) ] ;
|
||||
|
||||
HAIKU_MIKMOD_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_MIKMOD_DIR)
|
||||
: common/include/ : $(mikmodZipFile) : extracted-mikmod ] ;
|
||||
|
||||
HAIKU_MIKMOD_LIBS = [ ExtractArchive $(HAIKU_MIKMOD_DIR)
|
||||
:
|
||||
common/lib/libmikmod.a
|
||||
: $(mikmodZipFile)
|
||||
: extracted-ffmpeg ] ;
|
||||
Depends $(HAIKU_MIKMOD_LIBS) : $(HAIKU_MIKMOD_HEADERS_DEPENDENCY) ;
|
||||
|
||||
HAIKU_MIKMOD_HEADERS = [ FDirName $(HAIKU_MIKMOD_DIR) common include ] ;
|
||||
|
||||
EnableBuildFeatures mikmod ;
|
||||
} else {
|
||||
Echo "MikMod support not available on $(TARGET_ARCH)" ;
|
||||
}
|
||||
|
||||
|
||||
# Freetype
|
||||
local freetypeBaseURL = $(baseURL)/lib ;
|
||||
if $(TARGET_ARCH) = ppc || $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 || $(TARGET_ARCH) = arm {
|
||||
if $(TARGET_ARCH) = arm {
|
||||
HAIKU_FREETYPE_FILE = freetype-2.4.9-arm-2012-11-21.zip ;
|
||||
} else if $(TARGET_ARCH) = ppc {
|
||||
HAIKU_FREETYPE_FILE = freetype-2.4.9-ppc-gcc4-2012-06-26.zip ;
|
||||
} else if $(TARGET_ARCH) = x86_64 {
|
||||
HAIKU_FREETYPE_FILE = freetype-2.4.9-x86_64-2012-08-04.zip ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
HAIKU_FREETYPE_FILE = freetype-2.4.9-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
} else {
|
||||
HAIKU_FREETYPE_FILE = freetype-2.4.9-r1a4-x86-gcc2-2012-08-28.zip ;
|
||||
}
|
||||
|
||||
local freetypeZipFile = [ DownloadFile $(HAIKU_FREETYPE_FILE)
|
||||
: $(freetypeBaseURL)/$(HAIKU_FREETYPE_FILE) ] ;
|
||||
|
||||
HAIKU_FREETYPE_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_FREETYPE_FILE:B) ] ;
|
||||
|
||||
HAIKU_FREETYPE_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_FREETYPE_DIR)
|
||||
: develop/headers/3rdparty/freetype2 : $(freetypeZipFile)
|
||||
: extracted-freetype ] ;
|
||||
|
||||
HAIKU_FREETYPE_LIB = [ ExtractArchive $(HAIKU_FREETYPE_DIR)
|
||||
:
|
||||
common/lib/libfreetype.so
|
||||
: $(freetypeZipFile)
|
||||
: extracted-freetype ] ;
|
||||
HAIKU_FREETYPE_CURRENT_LIB = [ ExtractArchive $(HAIKU_FREETYPE_DIR)
|
||||
:
|
||||
common/lib/libfreetype.so.6.8.1
|
||||
: $(freetypeZipFile)
|
||||
: extracted-freetype ] ;
|
||||
Depends $(HAIKU_FREETYPE_LIB) $(HAIKU_FREETYPE_CURRENT_LIB) : $(HAIKU_FREETYPE_HEADERS_DEPENDENCY) ;
|
||||
|
||||
HAIKU_FREETYPE_CURRENT_LINK = libfreetype.so.6 ;
|
||||
|
||||
HAIKU_FREETYPE_HEADERS = [ FDirName $(HAIKU_FREETYPE_DIR) develop
|
||||
headers 3rdparty ] [ FDirName $(HAIKU_FREETYPE_DIR) develop
|
||||
headers 3rdparty freetype2 ] ;
|
||||
|
||||
EnableBuildFeatures freetype ;
|
||||
} else {
|
||||
Echo "Freetype support not available on $(TARGET_ARCH)" ;
|
||||
}
|
||||
|
||||
|
||||
# TagLib
|
||||
|
||||
# Automatically install the TagLib feature, when the optional TagLib optional
|
||||
# package is enabled.
|
||||
if [ IsOptionalHaikuImagePackageAdded TagLib ] {
|
||||
HAIKU_BUILD_FEATURE_TAGLIB = 1 ;
|
||||
}
|
||||
|
||||
HAIKU_TAGLIB_PACKAGE = taglib-1.6.3-r1a4-x86-gcc2-2012-09-03.zip ;
|
||||
HAIKU_TAGLIB_URL = $(baseURL)/$(HAIKU_TAGLIB_PACKAGE) ;
|
||||
|
||||
if $(HAIKU_BUILD_FEATURE_TAGLIB) {
|
||||
if $(TARGET_ARCH) != x86 {
|
||||
Echo "TagLib build feature not available for $(TARGET_ARCH)" ;
|
||||
} else {
|
||||
# Download the zip archive.
|
||||
local zipFile = [ DownloadFile $(HAIKU_TAGLIB_PACKAGE)
|
||||
: $(HAIKU_TAGLIB_URL) ] ;
|
||||
|
||||
# zip file and output directory
|
||||
HAIKU_TAGLIB_ZIP_FILE = $(zipFile) ;
|
||||
HAIKU_TAGLIB_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_TAGLIB_PACKAGE:B) ] ;
|
||||
|
||||
# extract headers and libraries
|
||||
HAIKU_TAGLIB_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_TAGLIB_DIR)
|
||||
: common/include/ : $(zipFile) : extracted-taglib
|
||||
] ;
|
||||
|
||||
HAIKU_TAGLIB_LIBS = [ ExtractArchive $(HAIKU_TAGLIB_DIR)
|
||||
:
|
||||
common/lib/libtag.so
|
||||
common/lib/libtag_c.so
|
||||
: $(zipFile)
|
||||
: extracted-taglib
|
||||
] ;
|
||||
|
||||
HAIKU_TAGLIB_HEADERS
|
||||
= [ FDirName $(HAIKU_TAGLIB_DIR) common include taglib ] ;
|
||||
|
||||
EnableBuildFeatures taglib ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# WebKit
|
||||
# Automatically install the WebKit feature, when the optional WebPositive
|
||||
# optional package is enabled.
|
||||
if [ IsOptionalHaikuImagePackageAdded WebPositive ] {
|
||||
HAIKU_BUILD_FEATURE_WEBKIT = 1 ;
|
||||
}
|
||||
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
HAIKU_WEBKIT_FILE = haikuwebkit-1.1.3-x86-gcc4-2012-08-31a.zip ;
|
||||
} else if $(TARGET_ARCH) = x86_64 {
|
||||
HAIKU_WEBKIT_FILE = haikuwebkit-1.1.3-x86_64-gcc4-2012-12-22.zip ;
|
||||
}
|
||||
if $(HAIKU_BUILD_FEATURE_WEBKIT) {
|
||||
if $(TARGET_ARCH) != x86 && $(TARGET_ARCH) != x86_64 {
|
||||
Echo "WebKit support not available on $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) < 4 {
|
||||
if ! $(isHybridBuild) {
|
||||
Echo "WebKit support not available on gcc $(HAIKU_GCC_VERSION[1])" ;
|
||||
} else {
|
||||
Echo "WebKit to be utilized by gcc4 inside $(HAIKU_ALTERNATIVE_GCC_OUTPUT_DIR)" ;
|
||||
}
|
||||
} else {
|
||||
local zipFile = [ DownloadFile $(HAIKU_WEBKIT_FILE)
|
||||
: $(baseURL)/$(HAIKU_WEBKIT_FILE) ] ;
|
||||
|
||||
HAIKU_WEBKIT_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_WEBKIT_FILE:B) ] ;
|
||||
|
||||
HAIKU_WEBKIT_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_WEBKIT_DIR)
|
||||
: include/ : $(zipFile) : extracted-webkit ] ;
|
||||
|
||||
HAIKU_WEBKIT_LIBS = [ ExtractArchive $(HAIKU_WEBKIT_DIR)
|
||||
:
|
||||
lib/libwtf.so
|
||||
lib/libjavascriptcore.so
|
||||
lib/libwebcore.so
|
||||
lib/libwebkit.so
|
||||
: $(zipFile)
|
||||
: extracted-webkit
|
||||
] ;
|
||||
|
||||
HAIKU_WEBKIT_HEADERS = [ FDirName $(HAIKU_WEBKIT_DIR) include ] ;
|
||||
|
||||
EnableBuildFeatures webkit ;
|
||||
}
|
||||
}
|
||||
|
||||
# libpng
|
||||
local libpngBaseURL = $(baseURL)/lib ;
|
||||
if $(TARGET_ARCH) = ppc || $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 || $(TARGET_ARCH) = arm {
|
||||
if $(TARGET_ARCH) = arm {
|
||||
HAIKU_LIBPNG_FILE = libpng-1.5.12-arm-2012-11-21.zip ;
|
||||
} else if $(TARGET_ARCH) = ppc {
|
||||
HAIKU_LIBPNG_FILE = libpng-1.5.12-ppc-gcc4-2012-08-27.zip ;
|
||||
} else if $(TARGET_ARCH) = x86_64 {
|
||||
HAIKU_LIBPNG_FILE = libpng-1.5.12-x86_64-2012-11-18.zip ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
HAIKU_LIBPNG_FILE = libpng-1.5.12-x86-gcc4-2012-08-23.zip ;
|
||||
} else {
|
||||
HAIKU_LIBPNG_FILE = libpng-1.5.12-x86-gcc2-2012-08-23.zip ;
|
||||
}
|
||||
|
||||
local libpngZipFile = [ DownloadFile $(HAIKU_LIBPNG_FILE)
|
||||
: $(libpngBaseURL)/$(HAIKU_LIBPNG_FILE) ] ;
|
||||
|
||||
HAIKU_LIBPNG_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_LIBPNG_FILE:B) ] ;
|
||||
|
||||
HAIKU_LIBPNG_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_LIBPNG_DIR)
|
||||
: common/include : $(libpngZipFile)
|
||||
: extracted-libpng ] ;
|
||||
|
||||
HAIKU_LIBPNG_LIB = [ ExtractArchive $(HAIKU_LIBPNG_DIR)
|
||||
:
|
||||
common/lib/libpng.so
|
||||
: $(libpngZipFile)
|
||||
: extracted-libpng ] ;
|
||||
HAIKU_LIBPNG_CURRENT_LIB = [ ExtractArchive $(HAIKU_LIBPNG_DIR)
|
||||
:
|
||||
common/lib/libpng15.so.15.12.0
|
||||
: $(libpngZipFile)
|
||||
: extracted-libpng ] ;
|
||||
Depends $(HAIKU_LIBPNG_LIB) $(HAIKU_LIBPNG_CURRENT_LIB) : $(HAIKU_LIBPNG_HEADERS_DEPENDENCY) ;
|
||||
|
||||
HAIKU_LIBPNG_CURRENT_LINK = libpng15.so.15 ;
|
||||
|
||||
HAIKU_LIBPNG_HEADERS = [ FDirName $(HAIKU_LIBPNG_DIR) common include ] ;
|
||||
|
||||
EnableBuildFeatures libpng ;
|
||||
} else {
|
||||
Echo "libpng support not available on $(TARGET_ARCH)" ;
|
||||
}
|
||||
|
||||
# jpeg
|
||||
local jpegBaseURL = $(baseURL)/lib ;
|
||||
if $(TARGET_ARCH) in arm ppc x86 x86_64 {
|
||||
if $(TARGET_ARCH) = arm {
|
||||
HAIKU_JPEG_FILE = jpeg-8d-arm-2012-11-21.zip ;
|
||||
} else if $(TARGET_ARCH) = ppc {
|
||||
HAIKU_JPEG_FILE = jpeg-8d-ppc-gcc4-2012-08-27.zip ;
|
||||
} else if $(TARGET_ARCH) = x86_64 {
|
||||
HAIKU_JPEG_FILE = jpeg-8d-x86_64-2012-11-18.zip ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
HAIKU_JPEG_FILE = jpeg-8d-x86-gcc4-2012-08-23.zip ;
|
||||
} else {
|
||||
HAIKU_JPEG_FILE = jpeg-8d-x86-gcc2-2012-08-23.zip ;
|
||||
}
|
||||
|
||||
local jpegZipFile = [ DownloadFile $(HAIKU_JPEG_FILE)
|
||||
: $(jpegBaseURL)/$(HAIKU_JPEG_FILE) ] ;
|
||||
|
||||
HAIKU_JPEG_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_JPEG_FILE:B) ] ;
|
||||
|
||||
HAIKU_JPEG_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_JPEG_DIR)
|
||||
: common/include : $(jpegZipFile)
|
||||
: extracted-jpeg ] ;
|
||||
|
||||
HAIKU_JPEG_LIB = [ ExtractArchive $(HAIKU_JPEG_DIR)
|
||||
:
|
||||
common/lib/libjpeg.so
|
||||
: $(jpegZipFile)
|
||||
: extracted-jpeg ] ;
|
||||
HAIKU_JPEG_CURRENT_LIB = [ ExtractArchive $(HAIKU_JPEG_DIR)
|
||||
:
|
||||
common/lib/libjpeg.so.8.4.0
|
||||
: $(jpegZipFile)
|
||||
: extracted-jpeg ] ;
|
||||
Depends $(HAIKU_JPEG_LIB) $(HAIKU_JPEG_CURRENT_LIB) : $(HAIKU_JPEG_HEADERS_DEPENDENCY) ;
|
||||
|
||||
HAIKU_JPEG_CURRENT_LINK = libjpeg.so.8 ;
|
||||
|
||||
HAIKU_JPEG_HEADERS = [ FDirName $(HAIKU_JPEG_DIR) common include ] ;
|
||||
|
||||
EnableBuildFeatures libjpeg ;
|
||||
} else {
|
||||
Echo "jpeg support not available on $(TARGET_ARCH)" ;
|
||||
}
|
||||
|
||||
# zlib
|
||||
local zlibBaseURL = $(baseURL)/lib ;
|
||||
if $(TARGET_ARCH) = ppc || $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 || $(TARGET_ARCH) = arm {
|
||||
if $(TARGET_ARCH) = arm {
|
||||
HAIKU_ZLIB_FILE = zlib-1.2.7-arm-2012-11-21.zip ;
|
||||
} else if $(TARGET_ARCH) = ppc {
|
||||
HAIKU_ZLIB_FILE = zlib-1.2.7-ppc-gcc4-2012-10-30.zip ;
|
||||
} else if $(TARGET_ARCH) = x86_64 {
|
||||
HAIKU_ZLIB_FILE = zlib-1.2.7-x86_64-2012-11-18.zip ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
HAIKU_ZLIB_FILE = zlib-1.2.7-x86-gcc4-2012-10-30.zip ;
|
||||
} else {
|
||||
HAIKU_ZLIB_FILE = zlib-1.2.7-x86-gcc2-2012-10-30.zip ;
|
||||
}
|
||||
|
||||
local zlibZipFile = [ DownloadFile $(HAIKU_ZLIB_FILE)
|
||||
: $(zlibBaseURL)/$(HAIKU_ZLIB_FILE) ] ;
|
||||
|
||||
HAIKU_ZLIB_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_ZLIB_FILE:B) ] ;
|
||||
|
||||
HAIKU_ZLIB_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_ZLIB_DIR)
|
||||
: common/include : $(zlibZipFile)
|
||||
: extracted-zlib ] ;
|
||||
|
||||
HAIKU_ZLIB_LIB = [ ExtractArchive $(HAIKU_ZLIB_DIR)
|
||||
:
|
||||
common/lib/libz.so
|
||||
: $(zlibZipFile)
|
||||
: extracted-zlib ] ;
|
||||
HAIKU_ZLIB_CURRENT_LIB = [ ExtractArchive $(HAIKU_ZLIB_DIR)
|
||||
:
|
||||
common/lib/libz.so.1.2.7
|
||||
: $(zlibZipFile)
|
||||
: extracted-zlib ] ;
|
||||
Depends $(HAIKU_ZLIB_LIB) $(HAIKU_ZLIB_CURRENT_LIB) : $(HAIKU_ZLIB_HEADERS_DEPENDENCY) ;
|
||||
|
||||
HAIKU_ZLIB_CURRENT_LINK = libz.so.1 ;
|
||||
|
||||
HAIKU_ZLIB_HEADERS = [ FDirName $(HAIKU_ZLIB_DIR) common include ] ;
|
||||
|
||||
EnableBuildFeatures zlib ;
|
||||
} else {
|
||||
Echo "zlib support not available on $(TARGET_ARCH)" ;
|
||||
}
|
||||
|
||||
|
||||
# LibSolv
|
||||
|
||||
if $(TARGET_ARCH) != x86 {
|
||||
Echo "Libsolv not available for $(TARGET_ARCH)." ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) = 2 {
|
||||
HAIKU_LIBSOLV_PACKAGE
|
||||
= libsolv-0.3.0_haiku_2013_04_18-2-x86_gcc2.hpkg ;
|
||||
} else {
|
||||
Echo "Libsolv not available for gcc4." ;
|
||||
}
|
||||
|
||||
if $(HAIKU_LIBSOLV_PACKAGE) {
|
||||
# download package
|
||||
HAIKU_LIBSOLV_PACKAGE_FILE = [ DownloadFile $(HAIKU_LIBSOLV_PACKAGE)
|
||||
: $(hpkgBaseURL)/$(HAIKU_LIBSOLV_PACKAGE) ] ;
|
||||
HAIKU_LIBSOLV_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_LIBSOLV_PACKAGE:B) ] ;
|
||||
|
||||
# extract headers and libraries
|
||||
HAIKU_LIBSOLV_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_LIBSOLV_DIR)
|
||||
: develop/headers/ : $(HAIKU_LIBSOLV_PACKAGE_FILE) : extracted-libsolv
|
||||
] ;
|
||||
|
||||
HAIKU_LIBSOLV_LIBS = [ ExtractArchive $(HAIKU_LIBSOLV_DIR)
|
||||
:
|
||||
develop/lib/libsolv.so
|
||||
develop/lib/libsolvext.so
|
||||
: $(HAIKU_LIBSOLV_PACKAGE_FILE)
|
||||
: extracted-libsolv
|
||||
] ;
|
||||
|
||||
HAIKU_LIBSOLV_HEADERS = [ FDirName $(HAIKU_LIBSOLV_DIR) develop/headers ] ;
|
||||
}
|
||||
|
||||
|
||||
# GPL add-ons
|
||||
if $(HAIKU_INCLUDE_GPL_ADDONS) = 1 {
|
||||
EnableBuildFeatures gpl ;
|
||||
}
|
||||
|
||||
|
||||
# ATA vs. IDE
|
||||
#HACK: remove when old ide code is removed!
|
||||
if $(HAIKU_ATA_STACK) = 1 {
|
||||
EnableBuildFeatures ata ;
|
||||
} else {
|
||||
EnableBuildFeatures ide ;
|
||||
}
|
||||
+138
-48
@@ -133,11 +133,25 @@ if $(HAIKU_USE_GCC_PIPE) = 1 {
|
||||
# TODO: remove the -fno-strict-aliasing option when all code has been
|
||||
# analyzed/fixed with regard to aliasing.
|
||||
# TODO: retest/remove the -fno-tree-vrp option as soon as we have updated our
|
||||
# gcc4 compiler.
|
||||
# gcc4 compiler. See this discussion on some issues:
|
||||
# http://www.freelists.org/post/haiku-development/hrev45320-Yet-another-nonobvious-effect-of-ftreevrp-optimization
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 3 {
|
||||
HAIKU_GCC_BASE_FLAGS += -fno-strict-aliasing -fno-tree-vrp ;
|
||||
}
|
||||
|
||||
# disable array bounds warnings on gcc 4.6 or newer since they trigger
|
||||
# too many false positives. Coverity does a better job of this kind of analysis
|
||||
# anyways.
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
HAIKU_GCC_BASE_FLAGS += -Wno-array-bounds ;
|
||||
}
|
||||
|
||||
# activating graphite optimizations
|
||||
if $(HAIKU_USE_GCC_GRAPHITE) = 1 {
|
||||
HAIKU_GCC_BASE_FLAGS += -floop-interchange -ftree-loop-distribution
|
||||
-floop-strip-mine -floop-block ;
|
||||
}
|
||||
|
||||
if $(HOST_GCC_VERSION[1]) >= 3 {
|
||||
HOST_GCC_BASE_FLAGS += -fno-strict-aliasing -fno-tree-vrp ;
|
||||
}
|
||||
@@ -153,16 +167,15 @@ if $(HAIKU_GCC_VERSION[1]) = 2 {
|
||||
HAIKU_C++ ?= $(HAIKU_CC) ;
|
||||
HAIKU_LINK = $(HAIKU_CC) ;
|
||||
HAIKU_LINKFLAGS = $(HAIKU_GCC_BASE_FLAGS) ;
|
||||
HAIKU_BOOT_LINKFLAGS = ;
|
||||
|
||||
HAIKU_HDRS = [ FStandardHeaders ] ;
|
||||
|
||||
HAIKU_CUSTOM_CCFLAGS = $(HAIKU_CCFLAGS) ;
|
||||
HAIKU_CUSTOM_C++FLAGS = $(HAIKU_C++FLAGS) ;
|
||||
|
||||
HAIKU_CCFLAGS = $(HAIKU_GCC_BASE_FLAGS) $(HAIKU_CUSTOM_CCFLAGS) -nostdinc ;
|
||||
HAIKU_C++FLAGS = $(HAIKU_GCC_BASE_FLAGS) $(HAIKU_CUSTOM_C++FLAGS) -nostdinc ;
|
||||
HAIKU_KERNEL_CCFLAGS = $(HAIKU_GCC_BASE_FLAGS) $(HAIKU_CUSTOM_CCFLAGS) ;
|
||||
HAIKU_KERNEL_C++FLAGS = $(HAIKU_GCC_BASE_FLAGS) $(HAIKU_CUSTOM_C++FLAGS) ;
|
||||
HAIKU_KERNEL_CCFLAGS = $(HAIKU_CCFLAGS) $(HAIKU_GCC_BASE_FLAGS) ;
|
||||
HAIKU_KERNEL_C++FLAGS = $(HAIKU_C++FLAGS) $(HAIKU_GCC_BASE_FLAGS) ;
|
||||
HAIKU_BOOT_CCFLAGS = $(HAIKU_CCFLAGS) $(HAIKU_GCC_BASE_FLAGS) ;
|
||||
HAIKU_BOOT_C++FLAGS = $(HAIKU_C++FLAGS) $(HAIKU_GCC_BASE_FLAGS) ;
|
||||
HAIKU_CCFLAGS += $(HAIKU_GCC_BASE_FLAGS) -nostdinc ;
|
||||
HAIKU_C++FLAGS += $(HAIKU_GCC_BASE_FLAGS) -nostdinc ;
|
||||
HAIKU_DEFINES = __HAIKU__ ;
|
||||
HAIKU_NO_WERROR ?= 0 ;
|
||||
|
||||
@@ -215,7 +228,7 @@ switch $(HAIKU_CPU) {
|
||||
case ppc :
|
||||
{
|
||||
HAIKU_DEFINES += __POWERPC__ ;
|
||||
HAIKU_BOOT_PLATFORM = openfirmware ;
|
||||
HAIKU_BOOT_PLATFORM ?= openfirmware ;
|
||||
HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 1440 ; # in kB
|
||||
# offset in floppy image (>= sizeof(haiku_loader))
|
||||
HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 192 ; # in kB - unused yet
|
||||
@@ -223,7 +236,7 @@ switch $(HAIKU_CPU) {
|
||||
case arm :
|
||||
{
|
||||
HAIKU_DEFINES += __ARM__ ;
|
||||
HAIKU_BOOT_PLATFORM = u-boot ;
|
||||
HAIKU_BOOT_PLATFORM ?= u-boot ;
|
||||
HAIKU_BOOT_BOARD ?= verdex ;
|
||||
HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 1440 ;
|
||||
# in kB (there is not really a floppy on the gumstix ;) )
|
||||
@@ -247,12 +260,15 @@ switch $(HAIKU_CPU) {
|
||||
}
|
||||
case x86_64 :
|
||||
{
|
||||
HAIKU_DEFINES += __x86_64__ ;
|
||||
# x86_64 completely shares the x86 bootloader.
|
||||
HAIKU_BOOT_PLATFORM = bios_ia32 ;
|
||||
HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 2880 ; # in kB
|
||||
# offset in floppy image (>= sizeof(haiku_loader))
|
||||
HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 300 ; # in kB
|
||||
|
||||
# x86_64 kernel source is under arch/x86.
|
||||
HAIKU_KERNEL_ARCH = x86 ;
|
||||
|
||||
# yasm is required for target arch x86_64
|
||||
if ! $(HAIKU_YASM) {
|
||||
Exit "HAIKU_YASM not set. Please re-run configure." ;
|
||||
@@ -291,10 +307,23 @@ switch $(HAIKU_CPU) {
|
||||
case * :
|
||||
Exit "Currently unsupported target CPU:" $(HAIKU_CPU) ;
|
||||
}
|
||||
|
||||
# strip is required
|
||||
if ! $(HAIKU_STRIP) {
|
||||
Exit "HAIKU_STRIP not set. Please re-run configure." ;
|
||||
}
|
||||
|
||||
# Include embedded board-specific file.
|
||||
if $(HAIKU_BOOT_BOARD) {
|
||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) board $(HAIKU_BOOT_BOARD)
|
||||
BoardSetup ] ;
|
||||
}
|
||||
|
||||
HAIKU_ARCH ?= $(HAIKU_CPU) ;
|
||||
HAIKU_ARCH_MACRO_DEFINE = ARCH_$(HAIKU_ARCH) ;
|
||||
HAIKU_DEFINES += $(HAIKU_ARCH_MACRO_DEFINE) ;
|
||||
HAIKU_DEFINES += BOOT_ARCHIVE_IMAGE_OFFSET=$(HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET) ;
|
||||
HAIKU_KERNEL_ARCH ?= $(HAIKU_ARCH) ;
|
||||
HAIKU_ATA_STACK ?= 1 ;
|
||||
|
||||
# directories
|
||||
@@ -320,22 +349,26 @@ HAIKU_ASFLAGS = ;
|
||||
HAIKU_KERNEL_CCFLAGS += -finline -fno-builtin ;
|
||||
HAIKU_KERNEL_C++FLAGS += -finline -fno-builtin -fno-exceptions ;
|
||||
HAIKU_KERNEL_DEFINES += _KERNEL_MODE ;
|
||||
HAIKU_BOOT_CCFLAGS += -finline -fno-builtin ;
|
||||
HAIKU_BOOT_C++FLAGS += -finline -fno-builtin -fno-exceptions ;
|
||||
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 3 {
|
||||
HAIKU_BOOT_C++FLAGS += -fno-use-cxa-atexit ;
|
||||
HAIKU_KERNEL_C++FLAGS += -fno-use-cxa-atexit ;
|
||||
}
|
||||
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
HAIKU_C++FLAGS += -Wno-deprecated ;
|
||||
|
||||
if $(HAIKU_GCC_VERSION[2]) >= 3 {
|
||||
HAIKU_KERNEL_CCFLAGS += -ffreestanding ;
|
||||
HAIKU_KERNEL_C++FLAGS += -ffreestanding ;
|
||||
}
|
||||
HAIKU_BOOT_CCFLAGS += -ffreestanding ;
|
||||
HAIKU_BOOT_C++FLAGS += -ffreestanding ;
|
||||
}
|
||||
|
||||
HAIKU_KERNEL_PIC_CCFLAGS = -fno-pic ;
|
||||
HAIKU_KERNEL_PIC_LINKFLAGS = ;
|
||||
HAIKU_KERNEL_ADDON_LINKFLAGS = ;
|
||||
|
||||
switch $(HAIKU_ARCH) {
|
||||
case ppc :
|
||||
@@ -356,15 +389,10 @@ switch $(HAIKU_ARCH) {
|
||||
}
|
||||
case x86 :
|
||||
{
|
||||
if $(HAIKU_CUSTOM_CCFLAGS) = '' {
|
||||
HAIKU_CCFLAGS += -march=pentium ;
|
||||
HAIKU_KERNEL_CCFLAGS += -march=pentium ;
|
||||
}
|
||||
|
||||
if $(HAIKU_CUSTOM_C++FLAGS) = '' {
|
||||
HAIKU_C++FLAGS += -march=pentium ;
|
||||
HAIKU_KERNEL_CCFLAGS += -march=pentium ;
|
||||
HAIKU_KERNEL_C++FLAGS += -march=pentium ;
|
||||
}
|
||||
|
||||
# Enable use of the gcc built-in atomic functions instead of atomic_*().
|
||||
# The former are inlined and have thus less overhead. They are not
|
||||
@@ -373,6 +401,23 @@ switch $(HAIKU_ARCH) {
|
||||
}
|
||||
case x86_64 :
|
||||
{
|
||||
# Kernel lives in the top 2GB of the address space, use kernel code
|
||||
# model.
|
||||
HAIKU_KERNEL_PIC_CCFLAGS += -mcmodel=kernel ;
|
||||
|
||||
# Disable the red zone, which cannot be used in kernel code due to
|
||||
# interrupts, and always enable the frame pointer so stack traces are
|
||||
# correct.
|
||||
HAIKU_KERNEL_CCFLAGS += -mno-red-zone -fno-omit-frame-pointer ;
|
||||
HAIKU_KERNEL_C++FLAGS += -mno-red-zone -fno-omit-frame-pointer ;
|
||||
HAIKU_KERNEL_PIC_LINKFLAGS += -z max-page-size=0x1000 ;
|
||||
HAIKU_KERNEL_ADDON_LINKFLAGS += -z max-page-size=0x1000 ;
|
||||
|
||||
# Bootloader is 32-bit.
|
||||
HAIKU_BOOT_LINKFLAGS += -m elf_i386_haiku ;
|
||||
HAIKU_BOOT_CCFLAGS += -m32 -march=pentium ;
|
||||
HAIKU_BOOT_C++FLAGS += -m32 -march=pentium ;
|
||||
|
||||
# Enable use of the gcc built-in atomic functions instead of atomic_*().
|
||||
# The former are inlined and have thus less overhead.
|
||||
HAIKU_DEFINES += B_USE_BUILTIN_ATOMIC_FUNCTIONS ;
|
||||
@@ -435,7 +480,7 @@ HAIKU_PRIVATE_SYSTEM_HEADERS =
|
||||
HAIKU_PRIVATE_KERNEL_HEADERS =
|
||||
[ PrivateHeaders $(DOT) kernel libroot shared
|
||||
kernel/boot/platform/$(HAIKU_BOOT_PLATFORM) ]
|
||||
[ ArchHeaders $(HAIKU_ARCH) ]
|
||||
[ ArchHeaders $(HAIKU_KERNEL_ARCH) ]
|
||||
[ FDirName $(HAIKU_COMMON_DEBUG_OBJECT_DIR) system kernel ]
|
||||
$(HAIKU_PRIVATE_SYSTEM_HEADERS)
|
||||
;
|
||||
@@ -480,7 +525,7 @@ HAIKU_SELECT_UNAME_ETC_LIB = ; # libroot, against which we link anyway
|
||||
|
||||
|
||||
# locale libraries
|
||||
HAIKU_LOCALE_LIBS = liblocale.so liblocalestub.a ;
|
||||
HAIKU_LOCALE_LIBS = liblocalestub.a ;
|
||||
|
||||
|
||||
# library and executable glue code
|
||||
@@ -528,9 +573,9 @@ HAIKU_BUILD_DESCRIPTION ?= "Unknown Build" ;
|
||||
# init library name map
|
||||
{
|
||||
local i ;
|
||||
for i in be bnetapi debug game GL locale mail media midi midi2 network
|
||||
opengl package root screensaver textencoding tracker translation
|
||||
z {
|
||||
for i in be bnetapi debug device game GL locale mail media midi midi2
|
||||
network opengl package root screensaver textencoding tracker
|
||||
translation z {
|
||||
HAIKU_LIBRARY_NAME_MAP_$(i) = lib$(i).so ;
|
||||
}
|
||||
HAIKU_LIBRARY_NAME_MAP_libstdc++ = $(HAIKU_LIBSTDC++) ;
|
||||
@@ -548,6 +593,7 @@ HOST_PLATFORM_IS_64_BIT = ;
|
||||
switch $(HOST_GCC_MACHINE) {
|
||||
case amd64-* : HOST_PLATFORM_IS_64_BIT = 1 ;
|
||||
case i686-apple-darwin10 : HOST_PLATFORM_IS_64_BIT = 1 ;
|
||||
case i686-apple-darwin11 : HOST_PLATFORM_IS_64_BIT = 1 ;
|
||||
case x86_64-* : HOST_PLATFORM_IS_64_BIT = 1 ;
|
||||
}
|
||||
|
||||
@@ -604,6 +650,13 @@ if $(HOST_PLATFORM) = linux || $(HOST_PLATFORM) = freebsd
|
||||
}
|
||||
}
|
||||
|
||||
# On recent versions of OS X cc and c++ point to clang, which fails to
|
||||
# compile some of the host tools. As a workaround, force use of GCC.
|
||||
if $(HOST_PLATFORM) = darwin {
|
||||
HOST_CC = gcc ;
|
||||
HOST_C++ = g++ ;
|
||||
}
|
||||
|
||||
if $(HOST_PLATFORM) = cygwin {
|
||||
HOST_LINKFLAGS += -Xlinker --allow-multiple-definition -Xlinker
|
||||
--enable-auto-import ;
|
||||
@@ -674,6 +727,12 @@ if $(HOST_ARCH) = m68k {
|
||||
HOST_KERNEL_PIC_LINKFLAGS = $(HAIKU_KERNEL_PIC_LINKFLAGS) ;
|
||||
}
|
||||
|
||||
if $(HOST_PLATFORM) != darwin {
|
||||
# fix for new changes to DSO linking policies
|
||||
HOST_LINKFLAGS += -Xlinker --no-as-needed ;
|
||||
}
|
||||
|
||||
|
||||
# warning flags
|
||||
HOST_WARNING_CCFLAGS = -Wall -Wno-trigraphs -Wmissing-prototypes -Wpointer-arith
|
||||
-Wcast-align -Wsign-compare ;
|
||||
@@ -768,9 +827,10 @@ if $(HOST_PLATFORM_BEOS_COMPATIBLE) {
|
||||
# compatibility library
|
||||
HOST_HAIKU_COMPATIBILITY_LIBS = libhaikucompat.a ;
|
||||
} else {
|
||||
HOST_LINKFLAGS += -lm ;
|
||||
HOST_LIBSTDC++ = stdc++ ;
|
||||
HOST_LIBROOT = libroot_build_function_remapper.a libroot_build.so ;
|
||||
HOST_STATIC_LIBROOT = libroot_build.a ;
|
||||
HOST_STATIC_LIBROOT = libroot_build_function_remapper.a libroot_build.a ;
|
||||
HOST_LIBBE = libbe_build.so ;
|
||||
if $(HOST_PLATFORM) = cygwin {
|
||||
HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR
|
||||
@@ -899,6 +959,7 @@ if ! $(HOST_PLATFORM_BEOS_COMPATIBLE) {
|
||||
[ FDirName $(HAIKU_TOP) headers build os drivers ]
|
||||
[ FDirName $(HAIKU_TOP) headers build os kernel ]
|
||||
[ FDirName $(HAIKU_TOP) headers build os interface ]
|
||||
[ FDirName $(HAIKU_TOP) headers build os locale ]
|
||||
[ FDirName $(HAIKU_TOP) headers build os opengl ]
|
||||
[ FDirName $(HAIKU_TOP) headers build os storage ]
|
||||
[ FDirName $(HAIKU_TOP) headers build os support ]
|
||||
@@ -937,9 +998,9 @@ if $(TARGET_PLATFORM) != haiku {
|
||||
# specified TARGET_PLATFORM.
|
||||
|
||||
local buildVars =
|
||||
ARCH CPU GCC_VERSION
|
||||
ARCH CPU GCC_VERSION KERNEL_ARCH
|
||||
|
||||
AR CC C++ LD OBJCOPY RANLIB
|
||||
AR CC C++ LD OBJCOPY RANLIB ELFEDIT
|
||||
|
||||
INCLUDES_SEPARATOR LOCAL_INCLUDES_OPTION SYSTEM_INCLUDES_OPTION
|
||||
|
||||
@@ -948,7 +1009,8 @@ local buildVars =
|
||||
KERNEL_DEFINES
|
||||
|
||||
KERNEL_CCFLAGS KERNEL_C++FLAGS
|
||||
KERNEL_PIC_CCFLAGS KERNEL_PIC_LINKFLAGS
|
||||
KERNEL_PIC_CCFLAGS KERNEL_PIC_LINKFLAGS KERNEL_ADDON_LINKFLAGS
|
||||
BOOT_CCFLAGS BOOT_C++FLAGS BOOT_LINKFLAGS
|
||||
WARNING_CCFLAGS WARNING_C++FLAGS
|
||||
|
||||
KERNEL_WARNING_CCFLAGS KERNEL_WARNING_C++FLAGS
|
||||
@@ -985,6 +1047,11 @@ if $(TARGET_PLATFORM) = haiku {
|
||||
TARGET_GCC_LIBGCC = $(HAIKU_GCC_LIBGCC) ;
|
||||
TARGET_GCC_LIBGCC_OBJECTS = $(HAIKU_GCC_LIBGCC_OBJECTS) ;
|
||||
|
||||
TARGET_KERNEL_LIBGCC = $(HAIKU_KERNEL_LIBGCC) ;
|
||||
TARGET_KERNEL_LIBSUPC++ = $(HAIKU_KERNEL_LIBSUPC++) ;
|
||||
TARGET_BOOT_LIBGCC = $(HAIKU_BOOT_LIBGCC) ;
|
||||
TARGET_BOOT_LIBSUPC++ = $(HAIKU_BOOT_LIBSUPC++) ;
|
||||
|
||||
TARGET_BOOT_PLATFORM ?= $(HAIKU_BOOT_PLATFORM) ;
|
||||
TARGET_BOOT_BOARD ?= $(HAIKU_BOOT_BOARD) ;
|
||||
|
||||
@@ -1001,6 +1068,11 @@ if $(TARGET_PLATFORM) = haiku {
|
||||
TARGET_GCC_LIBGCC = ;
|
||||
TARGET_GCC_LIBGCC_OBJECTS = ;
|
||||
|
||||
TARGET_KERNEL_LIBGCC = ;
|
||||
TARGET_KERNEL_LIBSUPC++ = ;
|
||||
TARGET_BOOT_LIBGCC = ;
|
||||
TARGET_BOOT_LIBSUPC++ = ;
|
||||
|
||||
TARGET_BOOT_PLATFORM = ;
|
||||
TARGET_BOOT_BOARD = ;
|
||||
|
||||
@@ -1062,7 +1134,7 @@ if ! $(TARGET_PLATFORM_HAIKU_COMPATIBLE) && $(TARGET_PLATFORM_BEOS_COMPATIBLE) {
|
||||
if $(TARGET_PLATFORM) = libbe_test {
|
||||
# headers and flags
|
||||
TARGET_HDRS +=
|
||||
[ PublicHeaders $(DOT) app drivers game interface kernel storage
|
||||
[ PublicHeaders $(DOT) app drivers game interface kernel locale storage
|
||||
support ]
|
||||
[ PrivateHeaders $(DOT) ] ;
|
||||
TARGET_DEFINES += __HAIKU__ ;
|
||||
@@ -1187,22 +1259,20 @@ AUTO_SET_UP_CONFIG_VARIABLES +=
|
||||
|
||||
|
||||
# enable -Werror for certain parts of the source tree
|
||||
|
||||
if $(HAIKU_GCC_VERSION[1]) = 2 {
|
||||
rule EnableWerror dirTokens : scope {
|
||||
AppendToConfigVar CCFLAGS : HAIKU_TOP $(dirTokens) : -Werror
|
||||
: $(scope) ;
|
||||
AppendToConfigVar C++FLAGS : HAIKU_TOP $(dirTokens) : -Werror
|
||||
: $(scope) ;
|
||||
}
|
||||
} else {
|
||||
HAIKU_WERRORFLAGS = ;
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
# -Wuninitialized gives too many false positives.
|
||||
rule EnableWerror dirTokens : scope {
|
||||
HAIKU_WERRORFLAGS = -Wno-error=uninitialized ;
|
||||
|
||||
# TODO: remove the -Wno-unused-but-set-variable option
|
||||
HAIKU_WERRORFLAGS += -Wno-unused-but-set-variable ;
|
||||
}
|
||||
|
||||
rule EnableWerror dirTokens : scope {
|
||||
AppendToConfigVar CCFLAGS : HAIKU_TOP $(dirTokens)
|
||||
: -Werror -Wno-error=uninitialized : $(scope) ;
|
||||
: -Werror $(HAIKU_WERRORFLAGS) : $(scope) ;
|
||||
AppendToConfigVar C++FLAGS : HAIKU_TOP $(dirTokens)
|
||||
: -Werror -Wno-error=uninitialized : $(scope) ;
|
||||
}
|
||||
: -Werror $(HAIKU_WERRORFLAGS) : $(scope) ;
|
||||
}
|
||||
|
||||
# Work-around for GCC 2 problem -- despite -Wno-multichar it reports
|
||||
@@ -1224,7 +1294,7 @@ if $(HAIKU_NO_WERROR) != 1 {
|
||||
# EnableWerror src add-ons accelerants nvidia ;
|
||||
EnableWerror src add-ons accelerants nvidia_gpgpu ;
|
||||
# EnableWerror src add-ons accelerants radeon ;
|
||||
EnableWerror src add-ons accelerants radeon_hd ;
|
||||
# EnableWerror src add-ons accelerants radeon_hd ;
|
||||
EnableWerror src add-ons accelerants s3 ;
|
||||
EnableWerror src add-ons accelerants skeleton ;
|
||||
EnableWerror src add-ons accelerants vesa ;
|
||||
@@ -1241,7 +1311,7 @@ if $(HAIKU_NO_WERROR) != 1 {
|
||||
EnableWerror src add-ons kernel bus_managers agp_gart ;
|
||||
EnableWerror src add-ons kernel bus_managers ata ;
|
||||
EnableWerror src add-ons kernel bus_managers config_manager ;
|
||||
EnableWerror src add-ons kernel bus_managers firewire ;
|
||||
# EnableWerror src add-ons kernel bus_managers firewire ;
|
||||
EnableWerror src add-ons kernel bus_managers isa ;
|
||||
EnableWerror src add-ons kernel bus_managers pci ;
|
||||
# EnableWerror src add-ons kernel bus_managers ps2 ; # gcc2
|
||||
@@ -1281,6 +1351,7 @@ if $(HAIKU_NO_WERROR) != 1 {
|
||||
EnableWerror src add-ons kernel file_systems layers ;
|
||||
EnableWerror src add-ons kernel file_systems netfs ;
|
||||
EnableWerror src add-ons kernel file_systems nfs ;
|
||||
EnableWerror src add-ons kernel file_systems nfs4 ;
|
||||
# EnableWerror src add-ons kernel file_systems ntfs ;
|
||||
EnableWerror src add-ons kernel file_systems packagefs ;
|
||||
EnableWerror src add-ons kernel file_systems ramfs ;
|
||||
@@ -1290,6 +1361,7 @@ if $(HAIKU_NO_WERROR) != 1 {
|
||||
EnableWerror src add-ons kernel generic ;
|
||||
# EnableWerror src add-ons kernel network datalink_protocols ;
|
||||
EnableWerror src add-ons kernel network devices ;
|
||||
EnableWerror src add-ons kernel network dns_resolver ;
|
||||
EnableWerror src add-ons kernel network notifications ;
|
||||
EnableWerror src add-ons kernel network ppp ;
|
||||
EnableWerror src add-ons kernel network protocols ;
|
||||
@@ -1342,7 +1414,7 @@ if $(HAIKU_NO_WERROR) != 1 {
|
||||
EnableWerror src add-ons translators bmp ;
|
||||
# EnableWerror src add-ons translators exr ;
|
||||
EnableWerror src add-ons translators gif ;
|
||||
EnableWerror src add-ons translators hpgs ;
|
||||
# EnableWerror src add-ons translators hpgs ;
|
||||
EnableWerror src add-ons translators hvif ;
|
||||
EnableWerror src add-ons translators ico ;
|
||||
# EnableWerror src add-ons translators jpeg ; # gcc2
|
||||
@@ -1354,10 +1426,10 @@ if $(HAIKU_NO_WERROR) != 1 {
|
||||
EnableWerror src add-ons translators rtf ;
|
||||
EnableWerror src add-ons translators sgi ;
|
||||
EnableWerror src add-ons translators shared ;
|
||||
EnableWerror src add-ons translators stxt ;
|
||||
# EnableWerror src add-ons translators stxt ;
|
||||
EnableWerror src add-ons translators tga ;
|
||||
EnableWerror src add-ons translators tiff ;
|
||||
EnableWerror src add-ons translators wonderbrush ;
|
||||
# EnableWerror src add-ons translators wonderbrush ;
|
||||
EnableWerror src add-ons print ;
|
||||
EnableWerror src bin package ;
|
||||
EnableWerror src apps ;
|
||||
@@ -1365,6 +1437,24 @@ if $(HAIKU_NO_WERROR) != 1 {
|
||||
EnableWerror src preferences ;
|
||||
EnableWerror src servers ;
|
||||
EnableWerror src system kernel ;
|
||||
EnableWerror src system libroot add-ons ;
|
||||
EnableWerror src system libroot posix locale ;
|
||||
EnableWerror src system libroot posix wchar ;
|
||||
EnableWerror src system runtime_loader ;
|
||||
}
|
||||
|
||||
# The following directories cannot currently be compiled with DEBUG=1
|
||||
SetConfigVar DEBUG : HAIKU_TOP src add-ons disk_systems bfs : 0 : local ;
|
||||
SetConfigVar DEBUG : HAIKU_TOP src add-ons kernel drivers audio hda : 0 : local ;
|
||||
SetConfigVar DEBUG : HAIKU_TOP src add-ons kernel drivers audio ac97 auich : 0 : local ; # fails with gcc4 only
|
||||
SetConfigVar DEBUG : HAIKU_TOP src add-ons kernel drivers audio ac97 auvia : 0 : local ; # fails with gcc4 only
|
||||
SetConfigVar DEBUG : HAIKU_TOP src add-ons kernel drivers audio ac97 sis7018 : 0 : local ;
|
||||
SetConfigVar DEBUG : HAIKU_TOP src add-ons kernel file_systems btrfs : 0 : local ;
|
||||
SetConfigVar DEBUG : HAIKU_TOP src add-ons kernel file_systems ntfs libntfs : 0 : local ;
|
||||
SetConfigVar DEBUG : HAIKU_TOP src add-ons kernel file_systems udf : 0 : local ;
|
||||
SetConfigVar DEBUG : HAIKU_TOP src add-ons media media-add-ons dvb : 0 : local ;
|
||||
SetConfigVar DEBUG : HAIKU_TOP src add-ons print drivers gutenprint : 0 : local ;
|
||||
SetConfigVar DEBUG : HAIKU_TOP src servers input : 0 : local ;
|
||||
SetConfigVar DEBUG : HAIKU_TOP src servers media_addon : 0 : local ;
|
||||
SetConfigVar DEBUG : HAIKU_TOP src system boot loader file_systems bfs : 0 : local ;
|
||||
SetConfigVar DEBUG : HAIKU_TOP src system boot loader file_systems tarfs : 0 : local ;
|
||||
|
||||
+4
-1
@@ -199,7 +199,7 @@ rule ExtractArchive directory : entries : archiveFile : grist
|
||||
# <directory> and <archiveFile> combo.
|
||||
#
|
||||
# <directory> - The directory into which to extract the archive file. The
|
||||
# directory is created is by this rule and it is the target
|
||||
# directory is created by this rule and it is the target
|
||||
# that the extract action is associated with.
|
||||
# <entries> - The entries of the archive file one is interested in. The
|
||||
# rule always extracts the complete archive file, from the
|
||||
@@ -246,6 +246,9 @@ rule ExtractArchive directory : entries : archiveFile : grist
|
||||
ExtractHPKGArchive1 $(directory)
|
||||
: <build>package $(archiveFile) ;
|
||||
|
||||
case "" :
|
||||
Exit "ExtractArchive: No archive passed" ;
|
||||
|
||||
case * :
|
||||
Exit "ExtractArchive: Unhandled archive extension:"
|
||||
"$(archiveFile:S)" ;
|
||||
|
||||
+84
-61
@@ -1,29 +1,8 @@
|
||||
# This file defines what ends up in the floppy boot image and it executes the
|
||||
# rules building the image.
|
||||
|
||||
local X86_ONLY = ;
|
||||
local PPC_ONLY = ;
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
X86_ONLY = "" ;
|
||||
} else if $(TARGET_ARCH) = ppc {
|
||||
X86_ONLY = ;
|
||||
} else if $(TARGET_ARCH) = m68k {
|
||||
X86_ONLY = ;
|
||||
}
|
||||
|
||||
local GPL_ONLY = ;
|
||||
if $(HAIKU_INCLUDE_GPL_ADDONS) = 1 {
|
||||
GPL_ONLY = "" ;
|
||||
}
|
||||
|
||||
#HACK: remove when old ide code is removed!
|
||||
local ATA_ONLY = ;
|
||||
local IDE_ONLY = ;
|
||||
if $(HAIKU_ATA_STACK) = 1 {
|
||||
ATA_ONLY = "" ;
|
||||
} else {
|
||||
IDE_ONLY = "" ;
|
||||
}
|
||||
|
||||
local NET_BOOT = 0 ;
|
||||
local USB_BOOT = 1 ;
|
||||
@@ -46,51 +25,84 @@ if $(NET_BOOT) = 1 {
|
||||
;
|
||||
}
|
||||
|
||||
SYSTEM_ADD_ONS_BUS_MANAGERS = $(X86_ONLY)acpi $(ATA_ONLY)ata config_manager dpc pci
|
||||
$(IDE_ONLY)ide $(X86_ONLY)isa scsi $(USB_ONLY)usb
|
||||
;
|
||||
SYSTEM_ADD_ONS_BUS_MANAGERS = [ FFilterByBuildFeatures
|
||||
acpi@x86 ata@ata config_manager dpc pci
|
||||
ide@ide isa@x86 scsi $(USB_ONLY)usb
|
||||
] ;
|
||||
SYSTEM_ADD_ONS_FILE_SYSTEMS = bfs iso9660 attribute_overlay write_overlay ;
|
||||
|
||||
|
||||
# modules
|
||||
AddFilesToFloppyBootArchive system add-ons kernel bus_managers
|
||||
: $(SYSTEM_ADD_ONS_BUS_MANAGERS) ;
|
||||
AddFilesToFloppyBootArchive system add-ons kernel busses ide
|
||||
: generic_ide_pci $(X86_ONLY)ide_isa silicon_image_3112 legacy_sata it8211 ;
|
||||
AddFilesToFloppyBootArchive system add-ons kernel busses scsi
|
||||
if $(TARGET_ARCH) = x86_64 {
|
||||
AddFilesToFloppyBootArchive system add-ons kernel bus_managers
|
||||
: ata config_manager dpc pci isa scsi $(USB_ONLY)usb ;
|
||||
AddFilesToFloppyBootArchive system add-ons kernel busses ata
|
||||
: generic_ide_pci legacy_sata ;
|
||||
AddFilesToFloppyBootArchive system add-ons kernel busses scsi
|
||||
: ahci ;
|
||||
AddFilesToFloppyBootArchive system add-ons kernel console
|
||||
: vga_text ;
|
||||
AddFilesToFloppyBootArchive system add-ons kernel file_systems
|
||||
AddFilesToFloppyBootArchive system add-ons kernel file_systems
|
||||
: $(SYSTEM_ADD_ONS_FILE_SYSTEMS) ;
|
||||
AddFilesToFloppyBootArchive system add-ons kernel generic
|
||||
: $(ATA_ONLY)ata_adapter $(IDE_ONLY)ide_adapter locked_pool scsi_periph ;
|
||||
AddFilesToFloppyBootArchive
|
||||
system add-ons kernel partitioning_systems
|
||||
AddFilesToFloppyBootArchive system add-ons kernel generic
|
||||
: ata_adapter locked_pool scsi_periph ;
|
||||
AddFilesToFloppyBootArchive system add-ons kernel partitioning_systems
|
||||
: intel session ;
|
||||
AddFilesToFloppyBootArchive
|
||||
system add-ons kernel interrupt_controllers
|
||||
: $(PPC_ONLY)openpic ;
|
||||
|
||||
if $(USB_BOOT) = 1 {
|
||||
AddFilesToFloppyBootArchive
|
||||
system add-ons kernel busses usb
|
||||
if $(USB_BOOT) = 1 {
|
||||
AddFilesToFloppyBootArchive system add-ons kernel busses usb
|
||||
: <usb>uhci <usb>ohci <usb>ehci ;
|
||||
}
|
||||
}
|
||||
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
AddFilesToFloppyBootArchive system add-ons kernel cpu
|
||||
: generic_x86 ;
|
||||
}
|
||||
AddFilesToFloppyBootArchive system add-ons kernel cpu : generic_x86 ;
|
||||
|
||||
# drivers
|
||||
AddNewDriversToFloppyBootArchive disk scsi : scsi_cd scsi_disk ;
|
||||
if $(USB_BOOT) = 1 {
|
||||
AddNewDriversToFloppyBootArchive disk scsi : scsi_cd scsi_disk ;
|
||||
if $(USB_BOOT) = 1 {
|
||||
AddDriversToFloppyBootArchive disk usb : usb_disk ;
|
||||
}
|
||||
if $(NET_BOOT) = 1 {
|
||||
}
|
||||
} else {
|
||||
# modules
|
||||
AddFilesToFloppyBootArchive system add-ons kernel bus_managers
|
||||
: $(SYSTEM_ADD_ONS_BUS_MANAGERS) ;
|
||||
|
||||
if $(HAIKU_ATA_STACK) = 1 {
|
||||
AddFilesToFloppyBootArchive system add-ons kernel busses ata
|
||||
: generic_ide_pci ide_isa@x86 silicon_image_3112 legacy_sata
|
||||
it8211 ;
|
||||
} else {
|
||||
AddFilesToFloppyBootArchive system add-ons kernel busses ide
|
||||
: generic_ide_pci ide_isa@x86 silicon_image_3112 legacy_sata
|
||||
it8211 ;
|
||||
}
|
||||
|
||||
AddFilesToFloppyBootArchive system add-ons kernel busses scsi
|
||||
: ahci ;
|
||||
AddFilesToFloppyBootArchive system add-ons kernel console : vga_text ;
|
||||
AddFilesToFloppyBootArchive system add-ons kernel file_systems
|
||||
: $(SYSTEM_ADD_ONS_FILE_SYSTEMS) ;
|
||||
AddFilesToFloppyBootArchive system add-ons kernel generic
|
||||
: ata_adapter@ata ide_adapter@ide locked_pool scsi_periph ;
|
||||
AddFilesToFloppyBootArchive system add-ons kernel partitioning_systems
|
||||
: intel session ;
|
||||
AddFilesToFloppyBootArchive system add-ons kernel interrupt_controllers
|
||||
: openpic@ppc ;
|
||||
|
||||
if $(USB_BOOT) = 1 {
|
||||
AddFilesToFloppyBootArchive system add-ons kernel busses usb
|
||||
: <usb>uhci <usb>ohci <usb>ehci ;
|
||||
}
|
||||
|
||||
if $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 {
|
||||
AddFilesToFloppyBootArchive system add-ons kernel cpu : generic_x86 ;
|
||||
}
|
||||
|
||||
# drivers
|
||||
AddNewDriversToFloppyBootArchive disk scsi : scsi_cd scsi_disk ;
|
||||
AddNewDriversToFloppyBootArchive disk : norflash@arm ;
|
||||
if $(USB_BOOT) = 1 {
|
||||
AddDriversToFloppyBootArchive disk usb : usb_disk ;
|
||||
}
|
||||
if $(NET_BOOT) = 1 {
|
||||
AddDriversToFloppyBootArchive disk virtual : remote_disk ;
|
||||
AddDriversToFloppyBootArchive net : $(SYSTEM_ADD_ONS_DRIVERS_NET) ;
|
||||
}
|
||||
}
|
||||
|
||||
# kernel
|
||||
@@ -124,19 +136,30 @@ if $(NET_BOOT) = 1 {
|
||||
}
|
||||
|
||||
# boot module links
|
||||
AddBootModuleSymlinksToFloppyBootArchive
|
||||
$(SYSTEM_ADD_ONS_BUS_MANAGERS)
|
||||
$(PPC_ONLY)openpic
|
||||
$(ATA_ONLY)ata_adapter $(IDE_ONLY)ide_adapter locked_pool scsi_periph
|
||||
$(X86_ONLY)generic_x86
|
||||
ahci generic_ide_pci $(X86_ONLY)ide_isa silicon_image_3112 legacy_sata
|
||||
it8211
|
||||
if $(TARGET_ARCH) = x86_64 {
|
||||
AddBootModuleSymlinksToFloppyBootArchive
|
||||
ata dpc config_manager pci scsi $(USB_ONLY)usb ata_adapter locked_pool
|
||||
scsi_periph generic_x86 ahci generic_ide_pci legacy_sata
|
||||
$(USB_ONLY)<usb>uhci $(USB_ONLY)<usb>ohci $(USB_ONLY)<usb>ehci
|
||||
scsi_cd scsi_disk $(USB_ONLY)usb_disk
|
||||
intel session
|
||||
$(SYSTEM_ADD_ONS_FILE_SYSTEMS)
|
||||
;
|
||||
} else {
|
||||
AddBootModuleSymlinksToFloppyBootArchive
|
||||
$(SYSTEM_ADD_ONS_BUS_MANAGERS)
|
||||
openpic@ppc
|
||||
ata_adapter@ata ide_adapter@ide locked_pool scsi_periph
|
||||
generic_x86@x86
|
||||
ahci generic_ide_pci ide_isa@x86 silicon_image_3112 legacy_sata
|
||||
it8211
|
||||
$(USB_ONLY)<usb>uhci $(USB_ONLY)<usb>ohci $(USB_ONLY)<usb>ehci
|
||||
scsi_cd scsi_disk $(USB_ONLY)usb_disk norflash@arm
|
||||
intel session
|
||||
$(SYSTEM_ADD_ONS_FILE_SYSTEMS)
|
||||
$(BOOT_ADD_ONS_NET)
|
||||
;
|
||||
;
|
||||
}
|
||||
|
||||
|
||||
#pragma mark - Build The Archive
|
||||
|
||||
@@ -1,85 +0,0 @@
|
||||
#-------------------------------------------------------------------------------
|
||||
# FreeType 2 specific rules and variables
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
FT2_INCLUDE = [ FDirName $(HAIKU_TOP) headers libs freetype2 ] ;
|
||||
FT2_SRC = [ FDirName $(HAIKU_TOP) src libs freetype2 ] ;
|
||||
|
||||
FT2_LIB = freetype ;
|
||||
|
||||
FT2_COMPONENTS ?= gzip # support for gzip-compressed files.
|
||||
autofit
|
||||
base # base component (public APIs)
|
||||
bdf # BDF font driver
|
||||
cache # cache sub-system
|
||||
cff # CFF/CEF font driver
|
||||
cid # Postscript CID-keyed font driver
|
||||
lzw # LZW routines
|
||||
pcf # PCF font driver
|
||||
pfr # PFR/TrueDoc font driver
|
||||
psaux # Common Postscript routines module
|
||||
pshinter # Postscript hinter module
|
||||
psnames # Postscript names handling
|
||||
raster # Monochrome rasterizer
|
||||
smooth # Anti-aliased rasterizer
|
||||
sfnt # SFNT-based format support routines
|
||||
truetype # TrueType font driver
|
||||
type1 # Postscript Type 1 font driver
|
||||
type42 # Postscript Type 42 (embedded TrueType) driver
|
||||
winfonts # Windows FON/FNT font driver
|
||||
;
|
||||
|
||||
rule UseFreeTypeHeaders
|
||||
{
|
||||
SubDirSysHdrs $(FT2_INCLUDE) ;
|
||||
}
|
||||
|
||||
rule UseFreeTypeObjectHeaders
|
||||
{
|
||||
# UseFreeTypeObjectHeaders <sources> [ : <objects> ] ;
|
||||
SourceSysHdrs $(1) : $(FT2_INCLUDE) : $(2) ;
|
||||
}
|
||||
|
||||
rule FT2_SubDir
|
||||
{
|
||||
# FT2_SubDir <dir>
|
||||
# <dir>: Components of a directory in the original hierarchy.
|
||||
local dir = $(1) ;
|
||||
local topDir ;
|
||||
switch $(dir[1])
|
||||
{
|
||||
case "include" : topDir = $(FT2_INCLUDE) ;
|
||||
case src : topDir = $(FT2_SRC) ;
|
||||
case * : ECHO "Unknown FreeType2 directory: " $(dir) ;
|
||||
}
|
||||
return [ FDirName $(topDir) $(dir[2-]) ] ;
|
||||
}
|
||||
|
||||
rule FT2_Library
|
||||
{
|
||||
# FT2_Library <libname> : <sources>
|
||||
# Builds objects from sources and adds the objects to the list of objects
|
||||
# to be linked into the library.
|
||||
# <libname> The name of the library.
|
||||
# <sources> The sources.
|
||||
|
||||
DEFINES += FT2_BUILD_LIBRARY ;
|
||||
|
||||
local library = lib$(1).so ;
|
||||
local sources = $(2) ;
|
||||
|
||||
Objects $(sources) ;
|
||||
LIBRARY_OBJECTS on $(library) += [ FGristFiles $(sources:S=$(SUFOBJ)) ] ;
|
||||
}
|
||||
|
||||
rule FT2_LinkLibrary
|
||||
{
|
||||
# FT2_LinkLibrary <libname>
|
||||
# Links the library from the objects build with FT2_LIBRARY before.
|
||||
|
||||
local library = lib$(1).so ;
|
||||
local objects = [ on $(library) return $(LIBRARY_OBJECTS) ] ;
|
||||
ObjectReferences $(objects) ;
|
||||
objects = [ FGristFiles $(objects) ] ;
|
||||
SharedLibraryFromObjects $(library) : $(objects) ;
|
||||
}
|
||||
@@ -0,0 +1,626 @@
|
||||
# This file defines what ends up on the Haiku image (respectively in the Haiku
|
||||
# installation directory) and it executes the rules building the image
|
||||
# (respectively installing the files in the installation directory).
|
||||
|
||||
# This is only temporary while x86_64 is still a work in progress, so I can
|
||||
# easily add things to the image as I port them.
|
||||
|
||||
|
||||
SYSTEM_BIN = "["
|
||||
addattr alert arp
|
||||
base64 basename bash bc beep
|
||||
cal cat catattr checkfs chgrp chmod chown chroot cksum clear clockconfig
|
||||
cmp collectcatkeys comm compress copyattr CortexAddOnHost cp csplit cut
|
||||
date dd diff diff3 dircolors dirname df du dumpcatalog
|
||||
echo eject env error expand expr
|
||||
factor false find finddir FirstBootPrompt fmt fold fortune ftp
|
||||
gawk gdb gzip gzexe getlimits groups
|
||||
head hostname
|
||||
id ifconfig <bin>install isvolume
|
||||
join
|
||||
kernel_debugger kill
|
||||
less lessecho lesskey link linkcatkeys listdev ln locale locate logger
|
||||
logname ls
|
||||
makebootable md5sum mimeset mkdir mkfifo mkfs mktemp mount mountvolume mv
|
||||
nl nohup notify nproc
|
||||
od open
|
||||
paste patch pathchk ping pr printenv printf ps ptx pwd
|
||||
query
|
||||
rc readlink rm rmattr rmdir
|
||||
safemode sdiff seq sha1sum shred shuf shutdown sleep sort split stat
|
||||
strace stty su sum sync sysinfo
|
||||
tac tail tee test timeout touch tr true truncate tsort tty
|
||||
unexpand uname uniq unlink unmount unzip <bin>updatedb
|
||||
waitfor wc wget whoami
|
||||
xargs xres
|
||||
yes
|
||||
zdiff zforce zgrep zip zipcloak <bin>zipgrep zipnote zipsplit zmore znew
|
||||
;
|
||||
|
||||
SYSTEM_APPS = AboutSystem ActivityMonitor CDPlayer CharacterMap Debugger DeskCalc
|
||||
Devices DiskUsage DriveSetup Expander Installer LaunchBox MediaConverter
|
||||
NetworkStatus PoorMan Pulse ProcessController Screenshot ShowImage
|
||||
SoundRecorder StyledEdit Terminal TV Workspaces
|
||||
;
|
||||
|
||||
SYSTEM_PREFERENCES = Appearance Backgrounds DataTranslations <preference>Deskbar
|
||||
FileTypes Keyboard Keymap Locale Media Mouse Network Notifications
|
||||
Printers Screen ScreenSaver Time Touchpad <preference>Tracker
|
||||
VirtualMemory
|
||||
;
|
||||
|
||||
SYSTEM_DEMOS = BSnow Cortex FontDemo OverlayImage Pairs Sudoku ;
|
||||
|
||||
SYSTEM_LIBS = libbe.so libbsd.so libbnetapi.so libgame.so libdebug.so libmedia.so
|
||||
libmidi2.so libnetwork.so <revisioned>libroot.so libroot-addon-icu.so
|
||||
libtextencoding.so libtiff.so libtracker.so libtranslation.so
|
||||
$(HAIKU_SHARED_LIBSTDC++) $(HAIKU_SHARED_LIBSUPC++)
|
||||
;
|
||||
|
||||
PRIVATE_SYSTEM_LIBS =
|
||||
$(HAIKU_JPEG_CURRENT_LIB)
|
||||
$(HAIKU_LIBPNG_CURRENT_LIB)
|
||||
$(HAIKU_ZLIB_CURRENT_LIB)
|
||||
$(HAIKU_FREETYPE_CURRENT_LIB)
|
||||
libilmimf.so
|
||||
;
|
||||
|
||||
SYSTEM_SERVERS = app_server cddb_daemon debug_server input_server midi_server
|
||||
mount_server net_server notification_server power_daemon print_server
|
||||
print_addon_server registrar syslog_daemon dns_resolver_server
|
||||
nfs4_idmapper_server
|
||||
;
|
||||
|
||||
SYSTEM_NETWORK_DEVICES = ethernet loopback ;
|
||||
SYSTEM_NETWORK_DATALINK_PROTOCOLS = ethernet_frame <module>arp loopback_frame
|
||||
ipv6_datagram ;
|
||||
SYSTEM_NETWORK_PROTOCOLS = ipv4 tcp udp icmp unix icmp6 ipv6 ;
|
||||
|
||||
SYSTEM_ADD_ONS_ACCELERANTS = vesa.accelerant ;
|
||||
SYSTEM_ADD_ONS_TRANSLATORS = BMPTranslator EXRTranslator GIFTranslator
|
||||
HVIFTranslator ICOTranslator JPEGTranslator JPEG2000Translator
|
||||
PCXTranslator PNGTranslator PPMTranslator
|
||||
RAWTranslator RTFTranslator SGITranslator STXTTranslator TGATranslator
|
||||
TIFFTranslator WebPTranslator WonderBrushTranslator
|
||||
;
|
||||
|
||||
SYSTEM_ADD_ONS_PRINT =
|
||||
Canon\ LIPS3\ Compatible
|
||||
Canon\ LIPS4\ Compatible
|
||||
Gutenprint
|
||||
PCL5\ Compatible
|
||||
PCL6\ Compatible
|
||||
PDF\ Writer
|
||||
PS\ Compatible
|
||||
|
||||
;
|
||||
|
||||
SYSTEM_ADD_ONS_DRIVERS_GRAPHICS = vesa ;
|
||||
SYSTEM_ADD_ONS_DRIVERS_NET = 3com atheros813x ar81xx attansic_l1 attansic_l2
|
||||
broadcom440x broadcom570x dec21xxx etherpci ipro100 ipro1000 jmicron2x0
|
||||
marvell_yukon nforce pcnet pegasus rtl8139 rtl81xx sis19x sis900 syskonnect
|
||||
via_rhine wb840
|
||||
;
|
||||
|
||||
SYSTEM_ADD_ONS_BUS_MANAGERS = [ FFilterByBuildFeatures
|
||||
ata@ata pci ps2 isa scsi config_manager usb
|
||||
] ;
|
||||
SYSTEM_ADD_ONS_FILE_SYSTEMS = bfs iso9660 nfs4 attribute_overlay write_overlay ;
|
||||
|
||||
# modules
|
||||
AddFilesToHaikuImage system add-ons kernel bus_managers
|
||||
: $(SYSTEM_ADD_ONS_BUS_MANAGERS) ;
|
||||
|
||||
if $(HAIKU_ATA_STACK) = 1 {
|
||||
AddFilesToHaikuImage system add-ons kernel busses ata
|
||||
: generic_ide_pci legacy_sata ;
|
||||
}
|
||||
|
||||
AddFilesToHaikuImage system add-ons kernel busses scsi
|
||||
: ahci ;
|
||||
AddFilesToHaikuImage system add-ons kernel busses usb
|
||||
: <usb>uhci <usb>ohci <usb>ehci ;
|
||||
AddFilesToHaikuImage system add-ons kernel debugger
|
||||
: <kdebug>demangle <kdebug>invalidate_on_exit <kdebug>usb_keyboard ;
|
||||
AddFilesToHaikuImage system add-ons kernel file_systems
|
||||
: $(SYSTEM_ADD_ONS_FILE_SYSTEMS) ;
|
||||
AddFilesToHaikuImage system add-ons kernel generic
|
||||
: ata_adapter@ata bios dpc locked_pool scsi_periph <module>tty ;
|
||||
AddFilesToHaikuImage system add-ons kernel partitioning_systems
|
||||
: intel session ;
|
||||
|
||||
AddFilesToHaikuImage system add-ons kernel cpu : generic_x86 ;
|
||||
|
||||
# drivers
|
||||
AddNewDriversToHaikuImage disk scsi : scsi_cd scsi_disk ;
|
||||
|
||||
# legacy drivers
|
||||
AddDriversToHaikuImage : console dprintf null
|
||||
random <driver>tty zero ;
|
||||
AddDriversToHaikuImage graphics : $(SYSTEM_ADD_ONS_DRIVERS_GRAPHICS) ;
|
||||
AddDriversToHaikuImage disk usb : usb_disk ;
|
||||
AddDriversToHaikuImage input : ps2_hid usb_hid ;
|
||||
AddDriversToHaikuImage net : $(SYSTEM_ADD_ONS_DRIVERS_NET) ;
|
||||
|
||||
# kernel
|
||||
AddFilesToHaikuImage system : <revisioned>kernel_$(TARGET_ARCH) ;
|
||||
|
||||
# libs
|
||||
AddLibrariesToHaikuHybridImage system lib
|
||||
: $(SYSTEM_LIBS) $(PRIVATE_SYSTEM_LIBS) ;
|
||||
|
||||
OPTIONAL_LIBS_ALIASES =
|
||||
libfreetype.so
|
||||
libjpeg.so
|
||||
libpng.so
|
||||
libz.so
|
||||
;
|
||||
|
||||
# libfreetype.so links to the current freetype lib
|
||||
AddSymlinkToHaikuHybridImage system lib : $(HAIKU_FREETYPE_CURRENT_LIB:BS)
|
||||
: $(HAIKU_FREETYPE_CURRENT_LINK) : : true ;
|
||||
AddSymlinkToHaikuHybridImage system lib : $(HAIKU_FREETYPE_CURRENT_LINK)
|
||||
: libfreetype.so : : true ;
|
||||
|
||||
# libpng.so links to the current libpng
|
||||
AddSymlinkToHaikuHybridImage system lib : $(HAIKU_LIBPNG_CURRENT_LIB:BS)
|
||||
: $(HAIKU_LIBPNG_CURRENT_LINK) : : true ;
|
||||
AddSymlinkToHaikuHybridImage system lib : $(HAIKU_LIBPNG_CURRENT_LINK)
|
||||
: libpng.so : : true ;
|
||||
|
||||
# libjpeg.so links to the current libjpeg
|
||||
AddSymlinkToHaikuHybridImage system lib : $(HAIKU_JPEG_CURRENT_LIB:BS)
|
||||
: $(HAIKU_JPEG_CURRENT_LINK) : : true ;
|
||||
AddSymlinkToHaikuHybridImage system lib : $(HAIKU_JPEG_CURRENT_LINK)
|
||||
: libjpeg.so : : true ;
|
||||
|
||||
# zlib.so links to the current zlib
|
||||
AddSymlinkToHaikuHybridImage system lib : $(HAIKU_ZLIB_CURRENT_LIB:BS)
|
||||
: $(HAIKU_ZLIB_CURRENT_LINK) : : true ;
|
||||
AddSymlinkToHaikuHybridImage system lib : $(HAIKU_ZLIB_CURRENT_LINK)
|
||||
: libz.so : : true ;
|
||||
|
||||
# servers
|
||||
AddFilesToHaikuImage system servers : $(SYSTEM_SERVERS) ;
|
||||
|
||||
# apps
|
||||
AddFilesToHaikuImage system : runtime_loader Deskbar Tracker ;
|
||||
AddFilesToHaikuImage system bin : $(SYSTEM_BIN) consoled ;
|
||||
AddFilesToHaikuImage system apps : $(SYSTEM_APPS) ;
|
||||
AddFilesToHaikuImage system preferences : $(SYSTEM_PREFERENCES) ;
|
||||
AddFilesToHaikuImage system demos : $(SYSTEM_DEMOS) ;
|
||||
|
||||
SEARCH on which = [ FDirName $(HAIKU_TOP) data bin ] ;
|
||||
AddFilesToHaikuImage system bin : which ;
|
||||
SEARCH on installoptionalpackage = [ FDirName $(HAIKU_TOP) data bin ] ;
|
||||
AddFilesToHaikuImage system bin : installoptionalpackage ;
|
||||
SEARCH on install-wifi-firmwares.sh = [ FDirName $(HAIKU_TOP) data bin ] ;
|
||||
AddFilesToHaikuImage system bin : install-wifi-firmwares.sh ;
|
||||
|
||||
# Add the files to be used by installoptionalpackage.
|
||||
AddDirectoryToHaikuImage common data optional-packages ;
|
||||
local optional-pkg-files = BuildFeatures OptionalPackageDependencies
|
||||
OptionalPackages OptionalLibPackages ;
|
||||
for name in $(optional-pkg-files) {
|
||||
local file = [ FDirName $(HAIKU_TOP) build jam $(name) ] ;
|
||||
AddFilesToHaikuImage common data optional-packages : $(file) ;
|
||||
}
|
||||
AddInstalledPackagesFileToHaikuImage ;
|
||||
|
||||
AddSymlinkToHaikuImage system bin : bash : sh ;
|
||||
AddSymlinkToHaikuImage system bin : trash : untrash ;
|
||||
|
||||
AddSymlinkToHaikuImage home Desktop : /boot/home : Home ;
|
||||
|
||||
# Mailbox folders and symlink
|
||||
AddDirectoryToHaikuImage home mail draft ;
|
||||
AddDirectoryToHaikuImage home mail in ;
|
||||
AddDirectoryToHaikuImage home mail out ;
|
||||
|
||||
AddSymlinkToHaikuImage home config : settings/deskbar : be ;
|
||||
# Deskbar Application links
|
||||
AddDirectoryToHaikuImage home config settings deskbar Applications ;
|
||||
DESKBAR_APPLICATIONS = ActivityMonitor DriveSetup Installer StyledEdit
|
||||
Terminal ;
|
||||
local linkTarget ;
|
||||
for linkTarget in $(DESKBAR_APPLICATIONS) {
|
||||
AddSymlinkToHaikuImage home config settings deskbar Applications
|
||||
: /boot/system/apps/$(linkTarget) : $(linkTarget) ;
|
||||
}
|
||||
|
||||
# Deskbar Desktop applets links
|
||||
AddDirectoryToHaikuImage home config settings deskbar Desktop\ applets ;
|
||||
DESKBAR_DESKTOP_APPLETS = NetworkStatus ProcessController ;
|
||||
for linkTarget in $(DESKBAR_DESKTOP_APPLETS) {
|
||||
AddSymlinkToHaikuImage home config settings deskbar Desktop\ applets
|
||||
: /boot/system/apps/$(linkTarget) : $(linkTarget) ;
|
||||
}
|
||||
|
||||
# Deskbar Preferences links
|
||||
AddDirectoryToHaikuImage home config settings deskbar Preferences ;
|
||||
DESKBAR_PREFERENCES = $(SYSTEM_PREFERENCES:B) ;
|
||||
for linkTarget in $(DESKBAR_PREFERENCES) {
|
||||
AddSymlinkToHaikuImage home config settings deskbar Preferences
|
||||
: /boot/system/preferences/$(linkTarget)
|
||||
: $(linkTarget) ;
|
||||
}
|
||||
|
||||
# Deskbar Demo links
|
||||
AddDirectoryToHaikuImage home config settings deskbar Demos ;
|
||||
for linkTarget in $(SYSTEM_DEMOS) {
|
||||
AddSymlinkToHaikuImage home config settings deskbar Demos
|
||||
: /boot/system/demos/$(linkTarget) : $(linkTarget) ;
|
||||
}
|
||||
|
||||
AddSymlinkToHaikuImage system bin : less : more ;
|
||||
AddSymlinkToHaikuImage system bin : gzip : gunzip ;
|
||||
AddSymlinkToHaikuImage system bin : gzip : zcat ;
|
||||
AddSymlinkToHaikuImage system bin : zdiff : zcmp ;
|
||||
AddSymlinkToHaikuImage system bin : unzip : zipinfo ;
|
||||
AddSymlinkToHaikuImage system bin : gawk : awk ;
|
||||
|
||||
|
||||
# scripts and data files
|
||||
local bootScripts = Bootscript Bootscript.cd SetupEnvironment Netscript
|
||||
InstallerInitScript InstallerFinishScript ;
|
||||
SEARCH on $(bootScripts) = [ FDirName $(HAIKU_TOP) data system boot ] ;
|
||||
AddFilesToHaikuImage system boot : $(bootScripts) ;
|
||||
|
||||
local userBootScripts = UserBootscript UserSetupEnvironment.sample ;
|
||||
SEARCH on $(userBootScripts) = [ FDirName $(HAIKU_TOP) data config boot ] ;
|
||||
AddFilesToHaikuImage home config boot : $(userBootScripts) ;
|
||||
|
||||
# Add boot launch directory
|
||||
AddDirectoryToHaikuImage home config boot launch ;
|
||||
|
||||
local logoArtwork =
|
||||
$(HAIKU_INCLUDE_TRADEMARKS)"HAIKU logo - white on blue - big.png"
|
||||
$(HAIKU_INCLUDE_TRADEMARKS)"HAIKU logo - white on blue - normal.png" ;
|
||||
SEARCH on $(logoArtwork) = [ FDirName $(HAIKU_TOP) data artwork ] ;
|
||||
AddFilesToHaikuImage system data artwork : $(logoArtwork) ;
|
||||
|
||||
local etcDir = [ FDirName $(HAIKU_TOP) data etc ] ;
|
||||
local etcFiles = inputrc profile ;
|
||||
etcFiles = $(etcFiles:G=etc) ;
|
||||
SEARCH on $(etcFiles) = [ FDirName $(etcDir) ] ;
|
||||
etcFiles += <etc>termcap <etc>sysless <etc>sysless.in ;
|
||||
AddFilesToHaikuImage common etc : $(etcFiles) ;
|
||||
|
||||
local profileFiles = [ Glob $(etcDir)/profile.d : *.sh ] ;
|
||||
profileFiles = $(profileFiles:G=profile-d) ;
|
||||
AddDirectoryToHaikuImage common etc profile.d ;
|
||||
AddFilesToHaikuImage common etc profile.d : $(profileFiles) ;
|
||||
|
||||
local fortuneFiles = [ Glob $(HAIKU_TOP)/data/system/data/fortunes
|
||||
: [a-zA-Z0-9]* ] ;
|
||||
fortuneFiles = $(fortuneFiles:G=data!fortunes) ;
|
||||
AddFilesToHaikuImage system data fortunes : $(fortuneFiles) ;
|
||||
|
||||
local fontDir = [ FDirName $(HAIKU_TOP) data system data fonts ] ;
|
||||
local psFonts = [ Glob $(fontDir)/psfonts : *.afm *.pfb ] ;
|
||||
local ttFonts = [ Glob $(fontDir)/ttfonts : *.ttf ] ;
|
||||
AddFilesToHaikuImage system data fonts psfonts : $(psFonts) ;
|
||||
AddFilesToHaikuImage system data fonts ttfonts : $(ttFonts) ;
|
||||
|
||||
local keymapFiles = [ Glob [ FDirName $(HAIKU_TOP) src data keymaps ]
|
||||
: *.keymap ] ;
|
||||
keymapFiles = $(keymapFiles:BG=keymap) ;
|
||||
AddFilesToHaikuImage system data Keymaps : $(keymapFiles) ;
|
||||
AddSymlinkToHaikuImage system data Keymaps : Swedish : Finnish ;
|
||||
AddSymlinkToHaikuImage system data Keymaps : Slovene : Croatian ;
|
||||
AddSymlinkToHaikuImage system data Keymaps : US-International : Brazilian ;
|
||||
|
||||
# Copy keyboard layout files to the image one-by-one.
|
||||
local keyboardLayoutsDir
|
||||
= [ FDirName $(HAIKU_TOP) data system data KeyboardLayouts ] ;
|
||||
local keyboardLayoutFiles =
|
||||
"Generic 104-key"
|
||||
"Generic 105-key International"
|
||||
"Kinesis Advantage"
|
||||
"Kinesis Ergo Elan International"
|
||||
"TypeMatrix 2030" ;
|
||||
keyboardLayoutFiles = $(keyboardLayoutFiles:G=keyboard-layout) ;
|
||||
SEARCH on $(keyboardLayoutFiles) = $(keyboardLayoutsDir) ;
|
||||
AddFilesToHaikuImage system data KeyboardLayouts
|
||||
: $(keyboardLayoutFiles) ;
|
||||
|
||||
# Add Apple Aluminum keyboard layout files to the image in an Apple Aluminum
|
||||
# subdirectory. The subdirectory is turned into a submenu in the Layout menu
|
||||
# of the Keymap preference app.
|
||||
local appleAluminumDir
|
||||
= [ FDirName $(HAIKU_TOP) data system data KeyboardLayouts
|
||||
Apple\ Aluminum ] ;
|
||||
local appleAluminumFiles =
|
||||
"Apple Aluminium Extended International"
|
||||
"Apple Aluminium International"
|
||||
"Apple Aluminum (US)"
|
||||
"Apple Aluminum Extended (US)" ;
|
||||
appleAluminumFiles = $(appleAluminumFiles:G=keyboard-layout) ;
|
||||
SEARCH on $(appleAluminumFiles) = $(appleAluminumDir) ;
|
||||
AddFilesToHaikuImage system data KeyboardLayouts Apple\ Aluminum
|
||||
: $(appleAluminumFiles) ;
|
||||
|
||||
# Add ThinkPad keyboard layout files to the image in a ThinkPad
|
||||
# subdirectory. The subdirectory is turned into a submenu in the Layout menu
|
||||
# of the Keymap preference app.
|
||||
local thinkpadDir
|
||||
= [ FDirName $(HAIKU_TOP) data system data KeyboardLayouts ThinkPad ] ;
|
||||
local thinkPadFiles =
|
||||
"ThinkPad (US)"
|
||||
"ThinkPad International"
|
||||
"ThinkPad T400s (US)"
|
||||
"ThinkPad T400s International"
|
||||
"ThinkPad X1 (US)"
|
||||
"ThinkPad X1 International"
|
||||
"ThinkPad X100e (US)"
|
||||
"ThinkPad X100e International" ;
|
||||
thinkPadFiles = $(thinkPadFiles:G=keyboard-layout) ;
|
||||
SEARCH on $(thinkPadFiles) = $(thinkpadDir) ;
|
||||
AddFilesToHaikuImage system data KeyboardLayouts ThinkPad
|
||||
: $(thinkPadFiles) ;
|
||||
|
||||
local driverSettingsFiles = <driver-settings>kernel ;
|
||||
SEARCH on $(driverSettingsFiles)
|
||||
= [ FDirName $(HAIKU_TOP) data settings kernel drivers ] ;
|
||||
AddFilesToHaikuImage home config settings kernel drivers
|
||||
: $(driverSettingsFiles) ;
|
||||
|
||||
# post install scripts and fresh install indicator file
|
||||
local postInstallFiles = add_catalog_entry_attributes.sh
|
||||
default_deskbar_items.sh mime_update.sh ;
|
||||
postInstallFiles = $(postInstallFiles:G=post-install) ;
|
||||
SEARCH on $(postInstallFiles)
|
||||
= [ FDirName $(HAIKU_TOP) data common boot post_install ] ;
|
||||
SEARCH on <post-install>fresh_install
|
||||
= [ FDirName $(HAIKU_TOP) data common settings ] ;
|
||||
AddFilesToHaikuImage common boot post_install : $(postInstallFiles) ;
|
||||
AddFilesToHaikuImage common settings : <post-install>fresh_install ;
|
||||
|
||||
# boot loader
|
||||
AddFilesToHaikuImage system : haiku_loader ;
|
||||
|
||||
# boot module links
|
||||
AddBootModuleSymlinksToHaikuImage
|
||||
ata@ata pci config_manager dpc scsi usb ata_adapter@ata
|
||||
locked_pool scsi_periph ahci generic_ide_pci legacy_sata
|
||||
<usb>uhci <usb>ohci <usb>ehci
|
||||
scsi_cd scsi_disk usb_disk
|
||||
intel
|
||||
bfs
|
||||
;
|
||||
|
||||
# add-ons
|
||||
AddFilesToHaikuImage system add-ons accelerants
|
||||
: $(SYSTEM_ADD_ONS_ACCELERANTS) ;
|
||||
|
||||
AddFilesToHaikuHybridImage system add-ons Translators
|
||||
: $(SYSTEM_ADD_ONS_TRANSLATORS) : : true ;
|
||||
AddFilesToHaikuImage system add-ons input_server devices
|
||||
: <input>keyboard <input>mouse <input>tablet <input>wacom ;
|
||||
AddFilesToHaikuImage system add-ons kernel network
|
||||
: <net>notifications stack ;
|
||||
AddFilesToHaikuImage system add-ons kernel network : dns_resolver ;
|
||||
AddFilesToHaikuImage system add-ons kernel network devices
|
||||
: $(SYSTEM_NETWORK_DEVICES) ;
|
||||
AddFilesToHaikuImage system add-ons kernel network datalink_protocols
|
||||
: $(SYSTEM_NETWORK_DATALINK_PROTOCOLS) ;
|
||||
AddFilesToHaikuImage system add-ons kernel network protocols
|
||||
: $(SYSTEM_NETWORK_PROTOCOLS) ;
|
||||
|
||||
AddFilesToHaikuImage system add-ons disk_systems
|
||||
: <disk_system>intel <disk_system>bfs ;
|
||||
|
||||
# create directories that will remain empty
|
||||
AddDirectoryToHaikuImage common bin ;
|
||||
AddDirectoryToHaikuImage common include ;
|
||||
AddDirectoryToHaikuImage common lib ;
|
||||
AddDirectoryToHaikuImage home Desktop ;
|
||||
AddDirectoryToHaikuImage home config bin ;
|
||||
AddDirectoryToHaikuImage home config lib ;
|
||||
AddDirectoryToHaikuImage home mail ;
|
||||
AddDirectoryToHaikuImage common var empty ;
|
||||
AddDirectoryToHaikuImage common var log ;
|
||||
AddDirectoryToHaikuImage common cache tmp ;
|
||||
|
||||
AddDirectoryToHaikuImage home config add-ons kernel drivers bin ;
|
||||
AddDirectoryToHaikuImage home config add-ons kernel drivers dev ;
|
||||
AddDirectoryToHaikuImage home config add-ons input_server devices ;
|
||||
AddDirectoryToHaikuImage home config add-ons input_server filters ;
|
||||
AddDirectoryToHaikuImage home config add-ons input_server methods ;
|
||||
AddDirectoryToHaikuImage home config add-ons media plugins ;
|
||||
AddDirectoryToHaikuImage home config add-ons Tracker ;
|
||||
AddDirectoryToHaikuImage home config add-ons Print ;
|
||||
AddDirectoryToHaikuImage home config add-ons Screen\ Savers ;
|
||||
AddDirectoryToHaikuImage home config add-ons Translators ;
|
||||
AddDirectoryToHaikuImage system data synth ;
|
||||
AddDirectoryToHaikuImage system add-ons input_server methods ;
|
||||
|
||||
# licenses
|
||||
CopyDirectoryToHaikuImage system data
|
||||
: [ FDirName $(HAIKU_TOP) data system data licenses ]
|
||||
: licenses : -x .svn ;
|
||||
|
||||
# Copy documentation as per DiskUsage's license requirement.
|
||||
CopyDirectoryToHaikuImage system documentation
|
||||
: [ FDirName $(HAIKU_TOP) docs apps diskusage ]
|
||||
: diskusage : -x .svn ;
|
||||
|
||||
|
||||
#pragma mark - Optional Packages
|
||||
|
||||
|
||||
HAIKU_IMAGE_OPTIONAL_PACKAGE_DESCRIPTIONS = ;
|
||||
|
||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) OptionalPackages ] ;
|
||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) OptionalTestPackages ] ;
|
||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) OptionalLibPackages ] ;
|
||||
|
||||
local optionalPackageDescriptions ;
|
||||
if $(HAIKU_IMAGE_OPTIONAL_PACKAGE_DESCRIPTIONS) {
|
||||
optionalPackageDescriptions = <haiku-image>optional_package_descriptions ;
|
||||
MakeLocate $(optionalPackageDescriptions)
|
||||
: $(HAIKU_COMMON_PLATFORM_OBJECT_DIR) ;
|
||||
|
||||
Depends $(optionalPackageDescriptions)
|
||||
: $(HAIKU_IMAGE_OPTIONAL_PACKAGE_DESCRIPTIONS) ;
|
||||
|
||||
actions together BuildOptionalPackageDescriptions
|
||||
{
|
||||
cat $(2) > $(1)
|
||||
}
|
||||
|
||||
BuildOptionalPackageDescriptions $(optionalPackageDescriptions)
|
||||
: $(HAIKU_IMAGE_OPTIONAL_PACKAGE_DESCRIPTIONS) ;
|
||||
}
|
||||
|
||||
|
||||
#pragma mark - User/Group Setup
|
||||
|
||||
|
||||
# add the root user and the root and users groups
|
||||
AddUserToHaikuImage $(HAIKU_ROOT_USER_NAME:E=baron) : 0 : 0 : /boot/home
|
||||
: /bin/bash : $(HAIKU_ROOT_USER_REAL_NAME:E="Root User") ;
|
||||
AddGroupToHaikuImage root : 0 : ;
|
||||
AddGroupToHaikuImage users : 100 : ;
|
||||
|
||||
|
||||
#pragma mark - Host Name
|
||||
|
||||
|
||||
if $(HAIKU_IMAGE_HOST_NAME) {
|
||||
actions BuildHaikuImageHostnameFile
|
||||
{
|
||||
echo "$(HAIKU_IMAGE_HOST_NAME)" > $(1)
|
||||
}
|
||||
|
||||
local file = <haiku-image>hostname ;
|
||||
Always $(file) ;
|
||||
MakeLocate $(file) : $(HAIKU_COMMON_PLATFORM_OBJECT_DIR) ;
|
||||
BuildHaikuImageHostnameFile $(file) ;
|
||||
AddFilesToHaikuImage common settings network : $(file) ;
|
||||
}
|
||||
|
||||
|
||||
#pragma mark - Build The Image
|
||||
|
||||
|
||||
# Execute pre-image user config rules.
|
||||
UserBuildConfigRulePreImage ;
|
||||
|
||||
# Set image name and directory defaults and locate the image.
|
||||
HAIKU_IMAGE_NAME ?= $(HAIKU_DEFAULT_IMAGE_NAME) ;
|
||||
HAIKU_IMAGE_DIR ?= $(HAIKU_DEFAULT_IMAGE_DIR) ;
|
||||
HAIKU_IMAGE = $(HAIKU_IMAGE_NAME) ;
|
||||
HAIKU_IMAGE_SIZE ?= $(HAIKU_DEFAULT_IMAGE_SIZE) ; # 300 MB
|
||||
HAIKU_IMAGE_LABEL ?= $(HAIKU_DEFAULT_IMAGE_LABEL) ;
|
||||
MakeLocate $(HAIKU_IMAGE) : $(HAIKU_IMAGE_DIR) ;
|
||||
|
||||
# Set the default installation directory.
|
||||
HAIKU_INSTALL_DIR ?= $(HAIKU_DEFAULT_INSTALL_DIR) ;
|
||||
|
||||
# the pseudo target all image contents is attached to
|
||||
NotFile $(HAIKU_IMAGE_CONTAINER_NAME) ;
|
||||
|
||||
# prepare the script that initializes the shell variables
|
||||
HAIKU_IMAGE_INIT_VARIABLES_SCRIPT = <HaikuImage>haiku.image-init-vars ;
|
||||
local script = $(HAIKU_IMAGE_INIT_VARIABLES_SCRIPT) ;
|
||||
MakeLocate $(script) : $(HAIKU_OUTPUT_DIR) ;
|
||||
Always $(script) ;
|
||||
|
||||
AddVariableToScript $(script) : sourceDir : $(HAIKU_TOP) ;
|
||||
AddVariableToScript $(script) : outputDir : $(HAIKU_OUTPUT_DIR) ;
|
||||
AddVariableToScript $(script) : tmpDir : $(HAIKU_TMP_DIR) ;
|
||||
AddVariableToScript $(script) : installDir : $(HAIKU_INSTALL_DIR) ;
|
||||
#AddVariableToScript $(script) : isImage : 1 ;
|
||||
AddVariableToScript $(script) : imageSize : $(HAIKU_IMAGE_SIZE) ;
|
||||
AddVariableToScript $(script) : imageLabel : $(HAIKU_IMAGE_LABEL) ;
|
||||
AddVariableToScript $(script) : addBuildCompatibilityLibDir
|
||||
: $(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR) ;
|
||||
AddVariableToScript $(script) : dontClearImage : $(HAIKU_DONT_CLEAR_IMAGE) ;
|
||||
AddVariableToScript $(script) : updateOnly : [ IsUpdateHaikuImageOnly ] ;
|
||||
AddVariableToScript $(script) : stripOptionalPackageDebugSymbols
|
||||
: $(HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES) ;
|
||||
AddTargetVariableToScript $(script) : <build>addattr ;
|
||||
AddTargetVariableToScript $(script) : <build>bfs_shell : bfsShell ;
|
||||
AddTargetVariableToScript $(script) : <build>fs_shell_command : fsShellCommand ;
|
||||
AddTargetVariableToScript $(script) : <build>copyattr ;
|
||||
AddTargetVariableToScript $(script) : <build>create_image : createImage ;
|
||||
AddTargetVariableToScript $(script) : <build>makebootable ;
|
||||
AddTargetVariableToScript $(script) : <build>rc ;
|
||||
AddTargetVariableToScript $(script) : <build>resattr ;
|
||||
AddTargetVariableToScript $(script) : <build>unzip ;
|
||||
AddTargetVariableToScript $(script) : <build>vmdkimage ;
|
||||
AddVariableToScript $(script) : stripCommand : $(HAIKU_STRIP) ;
|
||||
if $(HOST_RM_ATTRS_TARGET) {
|
||||
AddTargetVariableToScript $(script) : $(HOST_RM_ATTRS_TARGET) : rmAttrs ;
|
||||
} else {
|
||||
AddVariableToScript $(script) : rmAttrs : rm ;
|
||||
}
|
||||
if $(optionalPackageDescriptions) {
|
||||
AddTargetVariableToScript $(script) : $(optionalPackageDescriptions)
|
||||
: optionalPackageDescriptions ;
|
||||
}
|
||||
|
||||
|
||||
# create the other scripts
|
||||
HAIKU_IMAGE_MAKE_DIRS_SCRIPT = <HaikuImage>haiku.image-make-dirs ;
|
||||
HAIKU_IMAGE_COPY_FILES_SCRIPT = <HaikuImage>haiku.image-copy-files ;
|
||||
HAIKU_IMAGE_EXTRACT_FILES_SCRIPT = <HaikuImage>haiku.image-extract-files ;
|
||||
MakeLocate $(HAIKU_IMAGE_MAKE_DIRS_SCRIPT) $(HAIKU_IMAGE_COPY_FILES_SCRIPT)
|
||||
$(HAIKU_IMAGE_EXTRACT_FILES_SCRIPT) : $(HAIKU_OUTPUT_DIR) ;
|
||||
|
||||
CreateHaikuImageMakeDirectoriesScript $(HAIKU_IMAGE_MAKE_DIRS_SCRIPT) ;
|
||||
CreateHaikuImageCopyFilesScript $(HAIKU_IMAGE_COPY_FILES_SCRIPT) ;
|
||||
CreateHaikuImageExtractFilesScript $(HAIKU_IMAGE_EXTRACT_FILES_SCRIPT) ;
|
||||
|
||||
# Convenience wrapper rule around BuildHaikuImage.
|
||||
rule _BuildHaikuImage image : isImage : isVMwareImage
|
||||
{
|
||||
# _BuildHaikuImage <image target> : <isImage> : <isVMwareImage> ;
|
||||
#
|
||||
|
||||
# build the image
|
||||
# HAIKU_IMAGE_EARLY_USER_SCRIPTS, HAIKU_IMAGE_LATE_USER_SCRIPTS can be
|
||||
# specified by the user.
|
||||
BuildHaikuImage $(image) :
|
||||
$(HAIKU_IMAGE_INIT_VARIABLES_SCRIPT)
|
||||
$(HAIKU_IMAGE_EARLY_USER_SCRIPTS)
|
||||
$(HAIKU_IMAGE_MAKE_DIRS_SCRIPT)
|
||||
$(HAIKU_IMAGE_COPY_FILES_SCRIPT)
|
||||
$(HAIKU_IMAGE_EXTRACT_FILES_SCRIPT)
|
||||
$(HAIKU_IMAGE_LATE_USER_SCRIPTS)
|
||||
: $(isImage)
|
||||
: $(isVMwareImage)
|
||||
;
|
||||
|
||||
# remove the scripts we have generated
|
||||
RmTemps $(image) :
|
||||
$(HAIKU_IMAGE_INIT_VARIABLES_SCRIPT)
|
||||
$(HAIKU_IMAGE_MAKE_DIRS_SCRIPT)
|
||||
$(HAIKU_IMAGE_COPY_FILES_SCRIPT)
|
||||
$(HAIKU_IMAGE_EXTRACT_FILES_SCRIPT)
|
||||
;
|
||||
}
|
||||
|
||||
# build the image
|
||||
_BuildHaikuImage $(HAIKU_IMAGE) : true ;
|
||||
NotFile haiku-image ;
|
||||
Depends haiku-image : $(HAIKU_IMAGE) ;
|
||||
|
||||
|
||||
# install Haiku into a directory
|
||||
NotFile install-haiku ;
|
||||
_BuildHaikuImage install-haiku : 0 ;
|
||||
|
||||
|
||||
# build the VMware image
|
||||
HAIKU_VMWARE_IMAGE_NAME ?= $(HAIKU_DEFAULT_VMWARE_IMAGE_NAME) ;
|
||||
HAIKU_VMWARE_IMAGE = $(HAIKU_VMWARE_IMAGE_NAME) ;
|
||||
MakeLocate $(HAIKU_VMWARE_IMAGE) : $(HAIKU_IMAGE_DIR) ;
|
||||
|
||||
_BuildHaikuImage $(HAIKU_VMWARE_IMAGE) : true : true ;
|
||||
NotFile haiku-vmware-image ;
|
||||
Depends haiku-vmware-image : $(HAIKU_VMWARE_IMAGE) ;
|
||||
|
||||
# Execute post-image user config rules.
|
||||
UserBuildConfigRulePostImage ;
|
||||
+1
-2
@@ -21,14 +21,13 @@ AddVariableToScript $(script) : isCD : 1 ;
|
||||
AddVariableToScript $(script) : cdLabel : $(HAIKU_CD_LABEL) ;
|
||||
AddVariableToScript $(script) : addBuildCompatibilityLibDir
|
||||
: $(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR) ;
|
||||
AddVariableToScript $(script) : stripOptionalPackageDebugSymbols
|
||||
: $(HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES) ;
|
||||
AddTargetVariableToScript $(script) : <build>addattr ;
|
||||
AddTargetVariableToScript $(script) : <build>copyattr ;
|
||||
AddTargetVariableToScript $(script) : <build>rc ;
|
||||
AddTargetVariableToScript $(script) : <build>resattr ;
|
||||
AddTargetVariableToScript $(script) : <build>unzip ;
|
||||
AddTargetVariableToScript $(script) : <build>generate_attribute_stores ;
|
||||
AddVariableToScript $(script) : stripCommand : $(HAIKU_STRIP) ;
|
||||
if $(HOST_RM_ATTRS_TARGET) {
|
||||
AddTargetVariableToScript $(script) : $(HOST_RM_ATTRS_TARGET) : rmAttrs ;
|
||||
} else {
|
||||
|
||||
+114
-125
@@ -2,44 +2,23 @@
|
||||
# installation directory) and it executes the rules building the image
|
||||
# (respectively installing the files in the installation directory).
|
||||
|
||||
local X86_ONLY = ;
|
||||
local PPC_ONLY = ;
|
||||
local M68K_ONLY = ;
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
X86_ONLY = "" ;
|
||||
} else if $(TARGET_ARCH) = ppc {
|
||||
PPC_ONLY = "" ;
|
||||
} else if $(TARGET_ARCH) = m68k {
|
||||
M68K_ONLY = "" ;
|
||||
}
|
||||
|
||||
local GPL_ONLY = ;
|
||||
if $(HAIKU_INCLUDE_GPL_ADDONS) = 1 {
|
||||
GPL_ONLY = "" ;
|
||||
}
|
||||
|
||||
#HACK: remove when old ide code is removed!
|
||||
local ATA_ONLY = ;
|
||||
local IDE_ONLY = ;
|
||||
if $(HAIKU_ATA_STACK) = 1 {
|
||||
ATA_ONLY = "" ;
|
||||
} else {
|
||||
IDE_ONLY = "" ;
|
||||
}
|
||||
|
||||
SYSTEM_BIN = "[" addattr alert arp base64 basename bash bc beep bzip2
|
||||
SYSTEM_BIN = [ FFilterByBuildFeatures
|
||||
"["
|
||||
addattr alert arp
|
||||
base64 basename bash bc beep bfsinfo
|
||||
cal cat catattr checkfs checkitout chgrp chmod chop chown chroot cksum clear
|
||||
clockconfig cmp collectcatkeys comm compress copyattr CortexAddOnHost cp
|
||||
csplit ctags cut date dc dd desklink df diff diff3 dircolors dirname
|
||||
draggers driveinfo dstcheck du dumpcatalog
|
||||
csplit cut date dc dd desklink df diff diff3 dircolors dirname
|
||||
diskimage draggers driveinfo dstcheck du dumpcatalog
|
||||
echo eject env error expand expr
|
||||
factor false fdinfo ffm filepanel find finddir fmt fold fortune frcode
|
||||
ftp ftpd funzip fwcontrol
|
||||
gawk $(X86_ONLY)gdb getlimits grep groups gzip gzexe
|
||||
factor false fdinfo ffm filepanel find finddir FirstBootPrompt fmt fold
|
||||
fortune frcode ftp ftpd funzip fwcontrol
|
||||
gawk gdb@x86 getlimits groups gzip gzexe
|
||||
hd head hey hostname
|
||||
id ident ifconfig <bin>install installsound iroster isvolume
|
||||
$(IDE_ONLY)ideinfo $(IDE_ONLY)idestatus
|
||||
join kernel_debugger keymap kill
|
||||
ideinfo@ide idestatus@ide
|
||||
join kernel_debugger keymap keystore kill
|
||||
less lessecho lesskey link linkcatkeys listarea listattr listimage listdev
|
||||
listport listres listsem listusb ln locale locate logger login logname ls
|
||||
lsindex
|
||||
@@ -50,65 +29,70 @@ SYSTEM_BIN = "[" addattr alert arp base64 basename bash bc beep bzip2
|
||||
package package_repo passwd paste patch pathchk pc ping ping6 pkgman play
|
||||
playfile playsound playwav pr prio printenv printf profile ps ptx pwd
|
||||
query quit
|
||||
rc readlink ReadOnlyBootPrompt reindex release renice rlog rm rmattr
|
||||
rmindex rmdir roster route
|
||||
safemode screen_blanker screenmode screenshot sdiff setdecor settype
|
||||
rc readlink reindex release renice rlog rm rmattr rmindex rmdir roster
|
||||
route
|
||||
safemode screen_blanker screenmode screenshot sdiff setdecor setmime settype
|
||||
setversion setvolume seq sha1sum sha256sum shar shred shuf shutdown sleep
|
||||
sort spamdbm
|
||||
split stat strace stty su sum sync sysinfo
|
||||
sort spamdbm split stat strace stty su sum sync sysinfo
|
||||
tac tail tcpdump tcptester tee telnet telnetd test timeout top touch
|
||||
tput tr traceroute translate trash true truncate tsort tty
|
||||
uname unchop unexpand unmount uniq unlink unrar unshar unzip unzipsfx
|
||||
uname unchop unexpand unmount uniq unlink unshar unzip unzipsfx
|
||||
<bin>updatedb uptime urlwrapper useradd uudecode uuencode
|
||||
vdir version vmstat waitfor watch wc wget whoami xargs xres yes
|
||||
vdir version vmstat
|
||||
waitfor watch wc wget whoami writembr@x86 xargs xres
|
||||
yes
|
||||
zdiff zforce zgrep zip zipcloak <bin>zipgrep zipnote zipsplit zmore znew
|
||||
;
|
||||
] ;
|
||||
|
||||
SYSTEM_APPS = AboutSystem ActivityMonitor $(X86_ONLY)BootManager CharacterMap
|
||||
CodyCam DeskCalc Devices DiskProbe DiskUsage DriveSetup CDPlayer Expander
|
||||
Icon-O-Matic Installer LaunchBox Magnify Mail MediaConverter MediaPlayer
|
||||
MidiPlayer NetworkStatus PackageInstaller People PoorMan PowerStatus
|
||||
ProcessController Screenshot ShowImage SoundRecorder StyledEdit Terminal
|
||||
TextSearch TV Workspaces
|
||||
;
|
||||
SYSTEM_PREFERENCES = Appearance Backgrounds CPUFrequency DataTranslations
|
||||
<preference>Deskbar E-mail FileTypes Fonts Keyboard Keymap Locale Media
|
||||
Mouse Network Notifications OpenGL Printers Screen ScreenSaver Shortcuts
|
||||
Sounds Time Touchpad <preference>Tracker VirtualMemory
|
||||
;
|
||||
SYSTEM_DEMOS = BSnow Chart Clock Cortex FontDemo GLTeapot
|
||||
$(HAIKU_INCLUDE_TRADEMARKS)Haiku3d Mandelbrot OverlayImage Pairs Playground
|
||||
Pulse Sudoku
|
||||
;
|
||||
SYSTEM_LIBS =
|
||||
SYSTEM_APPS = [ FFilterByBuildFeatures
|
||||
AboutSystem ActivityMonitor BootManager@x86 CharacterMap
|
||||
CodyCam DeskCalc Devices DiskProbe DiskUsage DriveSetup CDPlayer Debugger
|
||||
Expander GLInfo@x86 Icon-O-Matic Installer LaunchBox Magnify Mail
|
||||
MediaConverter MediaPlayer MidiPlayer NetworkStatus PackageInstaller People
|
||||
PoorMan PowerStatus ProcessController Screenshot ShowImage SoundRecorder
|
||||
StyledEdit Terminal TextSearch TV WebWatch Workspaces
|
||||
] ;
|
||||
SYSTEM_PREFERENCES = [ FFilterByBuildFeatures
|
||||
Appearance Backgrounds CPUFrequency DataTranslations
|
||||
<preference>Deskbar E-mail FileTypes Keyboard Keymap Locale Media
|
||||
Mouse Network Notifications Printers Screen ScreenSaver
|
||||
Shortcuts Sounds Time Touchpad <preference>Tracker VirtualMemory
|
||||
] ;
|
||||
SYSTEM_DEMOS = [ FFilterByBuildFeatures
|
||||
BSnow Chart Clock Cortex FontDemo GLTeapot@x86
|
||||
$(HAIKU_INCLUDE_TRADEMARKS)Haiku3d@x86 Mandelbrot OverlayImage Pairs
|
||||
Playground Pulse Sudoku
|
||||
] ;
|
||||
SYSTEM_LIBS = [ FFilterByBuildFeatures
|
||||
libbe.so libbsd.so libbnetapi.so
|
||||
libdebug.so libdevice.so
|
||||
libfreetype.so
|
||||
libgame.so libGL.so libgnu.so
|
||||
libjpeg.so
|
||||
liblocale.so
|
||||
libmail.so libmedia.so libmidi.so libmidi2.so
|
||||
libgame.so libGL.so@x86 libglut.so@x86
|
||||
libgnu.so libmail.so libmedia.so libmidi.so libmidi2.so
|
||||
libnetwork.so
|
||||
libpackage.so libpng.so
|
||||
libpackage.so
|
||||
<revisioned>libroot.so
|
||||
libscreensaver.so
|
||||
libtextencoding.so libtiff.so libtracker.so libtranslation.so
|
||||
libz.so
|
||||
$(HAIKU_SHARED_LIBSTDC++) $(HAIKU_SHARED_LIBSUPC++)
|
||||
;
|
||||
PRIVATE_SYSTEM_LIBS =
|
||||
] ;
|
||||
PRIVATE_SYSTEM_LIBS = [ FFilterByBuildFeatures
|
||||
$(HAIKU_JPEG_CURRENT_LIB)
|
||||
$(HAIKU_LIBPNG_CURRENT_LIB)
|
||||
$(HAIKU_ZLIB_CURRENT_LIB)
|
||||
$(HAIKU_FREETYPE_CURRENT_LIB)
|
||||
libalm.so
|
||||
libfluidsynth.so
|
||||
libilmimf.so
|
||||
liblpsolve55.so
|
||||
libpackage-add-on-libsolv.so
|
||||
libroot-addon-icu.so
|
||||
;
|
||||
SYSTEM_SERVERS = app_server cddb_daemon debug_server input_server mail_daemon
|
||||
media_addon_server media_server midi_server mount_server net_server
|
||||
notification_server package_daemon power_daemon print_server
|
||||
print_addon_server registrar syslog_daemon
|
||||
;
|
||||
] ;
|
||||
SYSTEM_SERVERS = [ FFilterByBuildFeatures
|
||||
app_server cddb_daemon debug_server dns_resolver_server input_server
|
||||
keystore_server mail_daemon media_addon_server media_server midi_server
|
||||
mount_server net_server nfs4_idmapper_server notification_server
|
||||
package_daemon power_daemon print_server print_addon_server registrar
|
||||
syslog_daemon
|
||||
] ;
|
||||
|
||||
SYSTEM_NETWORK_DEVICES = ethernet loopback ;
|
||||
SYSTEM_NETWORK_DATALINK_PROTOCOLS = ethernet_frame <module>arp loopback_frame
|
||||
@@ -116,26 +100,25 @@ SYSTEM_NETWORK_DATALINK_PROTOCOLS = ethernet_frame <module>arp loopback_frame
|
||||
#SYSTEM_NETWORK_PPP = ipcp modem pap pppoe ;
|
||||
SYSTEM_NETWORK_PROTOCOLS = ipv4 tcp udp icmp unix icmp6 ipv6 ;
|
||||
|
||||
SYSTEM_ADD_ONS_ACCELERANTS = $(X86_ONLY)radeon.accelerant
|
||||
$(X86_ONLY)nvidia.accelerant $(X86_ONLY)matrox.accelerant
|
||||
$(X86_ONLY)neomagic.accelerant $(X86_ONLY)intel_extreme.accelerant
|
||||
$(X86_ONLY)s3.accelerant $(X86_ONLY)vesa.accelerant
|
||||
$(X86_ONLY)ati.accelerant
|
||||
$(X86_ONLY)3dfx.accelerant
|
||||
$(X86_ONLY)radeon_hd.accelerant
|
||||
#$(X86_ONLY)via.accelerant
|
||||
#$(X86_ONLY)vmware.accelerant
|
||||
;
|
||||
SYSTEM_ADD_ONS_ACCELERANTS = [ FFilterByBuildFeatures
|
||||
x86 @{
|
||||
3dfx.accelerant ati.accelerant matrox.accelerant neomagic.accelerant
|
||||
nvidia.accelerant intel_810.accelerant intel_extreme.accelerant
|
||||
radeon.accelerant radeon_hd.accelerant s3.accelerant vesa.accelerant
|
||||
#via.accelerant vmware.accelerant
|
||||
}@ # x86
|
||||
] ;
|
||||
SYSTEM_ADD_ONS_TRANSLATORS = BMPTranslator EXRTranslator GIFTranslator
|
||||
HVIFTranslator ICOTranslator JPEGTranslator JPEG2000Translator
|
||||
PCXTranslator PNGTranslator PPMTranslator
|
||||
RAWTranslator RTF-Translator SGITranslator STXTTranslator TGATranslator
|
||||
TIFFTranslator WebPTranslator WonderBrushTranslator
|
||||
RAWTranslator RTFTranslator SGITranslator STXTTranslator TGATranslator
|
||||
TIFFTranslator WebPTranslator WonderBrushTranslator ICNSTranslator
|
||||
;
|
||||
SYSTEM_ADD_ONS_LOCALE_CATALOGS = <catalog-addon>zeta <catalog-addon>plaintext ;
|
||||
SYSTEM_ADD_ONS_MEDIA = cortex_audioadapter.media_addon
|
||||
SYSTEM_ADD_ONS_LOCALE_CATALOGS = <catalog-addon>plaintext ;
|
||||
SYSTEM_ADD_ONS_MEDIA = [ FFilterByBuildFeatures
|
||||
cortex_audioadapter.media_addon
|
||||
cortex_flanger.media_addon
|
||||
dvb.media_addon
|
||||
dvb.media_addon@x86
|
||||
hmulti_audio.media_addon
|
||||
mixer.media_addon
|
||||
opensound.media_addon
|
||||
@@ -145,8 +128,12 @@ SYSTEM_ADD_ONS_MEDIA = cortex_audioadapter.media_addon
|
||||
video_window_demo.media_addon
|
||||
firewire_dv.media_addon
|
||||
#legacy.media_addon
|
||||
;
|
||||
SYSTEM_ADD_ONS_MEDIA_PLUGINS = $(X86_ONLY)ffmpeg raw_decoder ;
|
||||
equalizer.media_addon
|
||||
vst_host.media_addon
|
||||
] ;
|
||||
SYSTEM_ADD_ONS_MEDIA_PLUGINS = [ FFilterByBuildFeatures
|
||||
ffmpeg@ffmpeg raw_decoder
|
||||
] ;
|
||||
SYSTEM_ADD_ONS_PRINT =
|
||||
Canon\ LIPS3\ Compatible
|
||||
Canon\ LIPS4\ Compatible
|
||||
@@ -161,40 +148,47 @@ SYSTEM_ADD_ONS_PRINT_TRANSPORT = HP\ JetDirect IPP LPR
|
||||
# Parallel\ Port
|
||||
Print\ To\ File Serial\ Port USB\ Port
|
||||
;
|
||||
SYSTEM_ADD_ONS_SCREENSAVERS = Butterfly DebugNow Flurry
|
||||
$(HAIKU_INCLUDE_TRADEMARKS)Haiku Icons IFS Leaves Message Spider ;
|
||||
SYSTEM_ADD_ONS_DRIVERS_AUDIO = auich auvia echo3g emuxki hda sis7018 ;
|
||||
SYSTEM_ADD_ONS_SCREENSAVERS = [ FFilterByBuildFeatures
|
||||
Butterfly DebugNow Flurry@x86
|
||||
GLife@x86 $(HAIKU_INCLUDE_TRADEMARKS)Haiku Icons IFS Leaves
|
||||
Message Spider Gravity@x86
|
||||
] ;
|
||||
SYSTEM_ADD_ONS_DRIVERS_AUDIO = auich auvia echo3g emuxki hda ice1712 sis7018 ;
|
||||
SYSTEM_ADD_ONS_DRIVERS_AUDIO_OLD = ; #cmedia usb_audio ;
|
||||
SYSTEM_ADD_ONS_DRIVERS_GRAPHICS = $(X86_ONLY)radeon $(X86_ONLY)nvidia
|
||||
$(X86_ONLY)neomagic $(X86_ONLY)matrox $(X86_ONLY)intel_extreme
|
||||
$(X86_ONLY)s3 $(X86_ONLY)vesa #$(X86_ONLY)via #$(X86_ONLY)vmware
|
||||
$(X86_ONLY)ati $(X86_ONLY)3dfx $(X86_ONLY)radeon_hd
|
||||
;
|
||||
SYSTEM_ADD_ONS_DRIVERS_MIDI = emuxki usb_midi ;
|
||||
SYSTEM_ADD_ONS_DRIVERS_NET = $(X86_ONLY)3com $(X86_ONLY)atheros813x
|
||||
$(X86_ONLY)ar81xx $(X86_ONLY)attansic_l1 $(X86_ONLY)attansic_l2
|
||||
$(X86_ONLY)broadcom440x $(X86_ONLY)broadcom570x $(X86_ONLY)dec21xxx etherpci
|
||||
$(X86_ONLY)ipro100 $(X86_ONLY)ipro1000 $(X86_ONLY)jmicron2x0
|
||||
$(X86_ONLY)marvell_yukon $(X86_ONLY)nforce $(X86_ONLY)pcnet pegasus
|
||||
$(X86_ONLY)rtl8139 $(X86_ONLY)rtl81xx sis900
|
||||
$(X86_ONLY)syskonnect usb_davicom usb_asix usb_ecm $(X86_ONLY)via_rhine
|
||||
$(X86_ONLY)vt612x wb840
|
||||
SYSTEM_ADD_ONS_DRIVERS_GRAPHICS = [ FFilterByBuildFeatures
|
||||
x86 @{
|
||||
ati 3dfx intel_810 intel_extreme matrox neomagic nvidia radeon radeon_hd
|
||||
s3 vesa #via vmware
|
||||
}@ # x86
|
||||
] ;
|
||||
SYSTEM_ADD_ONS_DRIVERS_MIDI = emuxki ice1712 usb_midi ;
|
||||
SYSTEM_ADD_ONS_DRIVERS_NET = [ FFilterByBuildFeatures
|
||||
x86 @{
|
||||
3com atheros813x ar81xx attansic_l1 attansic_l2 broadcom440x
|
||||
broadcom570x dec21xxx ipro100 ipro1000 jmicron2x0 marvell_yukon nforce
|
||||
pcnet rtl8139 rtl81xx sis19x syskonnect via_rhine vt612x
|
||||
}@ # x86
|
||||
|
||||
etherpci pegasus sis900 usb_davicom usb_asix usb_ecm wb840
|
||||
|
||||
# WLAN drivers
|
||||
$(X86_ONLY)aironetwifi $(X86_ONLY)atheroswifi $(X86_ONLY)broadcom43xx
|
||||
$(X86_ONLY)ipw2100 $(X86_ONLY)iprowifi2200 $(X86_ONLY)iprowifi3945
|
||||
$(X86_ONLY)iprowifi4965 $(X86_ONLY)marvell88w8363 $(X86_ONLY)marvell88w8335
|
||||
$(X86_ONLY)ralink2860 $(X86_ONLY)ralinkwifi $(X86_ONLY)wavelanwifi
|
||||
x86 @{
|
||||
aironetwifi atheroswifi broadcom43xx
|
||||
iprowifi2100 iprowifi2200 iprowifi3945
|
||||
iprowifi4965 marvell88w8363 marvell88w8335
|
||||
ralinkwifi wavelanwifi
|
||||
}@ # x86
|
||||
|
||||
# WWAN drivers
|
||||
#$(GPL_ONLY)usb_beceemwmx
|
||||
;
|
||||
SYSTEM_ADD_ONS_DRIVERS_POWER = $(X86_ONLY)acpi_button ;
|
||||
SYSTEM_ADD_ONS_BUS_MANAGERS = $(ATA_ONLY)ata pci $(X86_ONLY)ps2 $(X86_ONLY)isa
|
||||
$(IDE_ONLY)ide scsi config_manager agp_gart usb firewire $(X86_ONLY)acpi
|
||||
;
|
||||
#usb_beceemwmx@gpl
|
||||
] ;
|
||||
SYSTEM_ADD_ONS_DRIVERS_POWER = [ FFilterByBuildFeatures acpi_button@x86 ] ;
|
||||
SYSTEM_ADD_ONS_BUS_MANAGERS = [ FFilterByBuildFeatures
|
||||
ata@ata pci ps2@x86 isa@x86
|
||||
ide@ide scsi config_manager agp_gart usb firewire acpi@x86
|
||||
] ;
|
||||
SYSTEM_ADD_ONS_FILE_SYSTEMS = bfs bindfs btrfs cdda exfat ext2 fat iso9660 nfs
|
||||
attribute_overlay write_overlay ntfs packagefs reiserfs udf googlefs ;
|
||||
nfs4 attribute_overlay write_overlay ntfs packagefs reiserfs udf googlefs ;
|
||||
|
||||
|
||||
# build the haiku system package and add it
|
||||
@@ -354,12 +348,8 @@ AddDirectoryToHaikuImage home config settings printers "Save as PDF"
|
||||
# dvb channel settings
|
||||
CopyDirectoryToHaikuImage home config settings Media
|
||||
: [ FDirName $(HAIKU_TOP) data settings media dvb ]
|
||||
: dvb : -x .svn -x Jamfile ;
|
||||
: dvb : -x Jamfile ;
|
||||
|
||||
# Copy sample programs as per PDFlib Lite's license requirement.
|
||||
CopyDirectoryToHaikuImage develop sample-code
|
||||
: [ FDirName $(HAIKU_TOP) src libs pdflib bind pdflib ]
|
||||
: pdflib : -x .svn ;
|
||||
|
||||
#pragma mark - Optional Packages
|
||||
|
||||
@@ -453,8 +443,6 @@ AddVariableToScript $(script) : addBuildCompatibilityLibDir
|
||||
: $(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR) ;
|
||||
AddVariableToScript $(script) : dontClearImage : $(HAIKU_DONT_CLEAR_IMAGE) ;
|
||||
AddVariableToScript $(script) : updateOnly : [ IsUpdateHaikuImageOnly ] ;
|
||||
AddVariableToScript $(script) : stripOptionalPackageDebugSymbols
|
||||
: $(HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES) ;
|
||||
AddTargetVariableToScript $(script) : <build>addattr ;
|
||||
AddTargetVariableToScript $(script) : <build>bfs_shell : bfsShell ;
|
||||
AddTargetVariableToScript $(script) : <build>fs_shell_command : fsShellCommand ;
|
||||
@@ -466,6 +454,7 @@ AddTargetVariableToScript $(script) : <build>rc ;
|
||||
AddTargetVariableToScript $(script) : <build>resattr ;
|
||||
AddTargetVariableToScript $(script) : <build>unzip ;
|
||||
AddTargetVariableToScript $(script) : <build>vmdkimage ;
|
||||
AddVariableToScript $(script) : stripCommand : $(HAIKU_STRIP) ;
|
||||
if $(HOST_RM_ATTRS_TARGET) {
|
||||
AddTargetVariableToScript $(script) : $(HOST_RM_ATTRS_TARGET) : rmAttrs ;
|
||||
} else {
|
||||
|
||||
+98
-51
@@ -26,31 +26,30 @@ for driver in $(SYSTEM_ADD_ONS_DRIVERS_NET) {
|
||||
|
||||
# modules
|
||||
AddFilesToPackage add-ons kernel bus_managers : $(SYSTEM_ADD_ONS_BUS_MANAGERS) ;
|
||||
AddFilesToPackage add-ons kernel busses agp_gart : $(X86_ONLY)<agp_gart>intel ;
|
||||
AddFilesToPackage add-ons kernel busses agp_gart : <agp_gart>intel@x86 ;
|
||||
|
||||
if $(HAIKU_ATA_STACK) = 1 {
|
||||
AddFilesToPackage add-ons kernel busses ata
|
||||
: generic_ide_pci it8211 legacy_sata silicon_image_3112
|
||||
$(X86_ONLY)ide_isa ;
|
||||
: generic_ide_pci it8211 legacy_sata silicon_image_3112 ide_isa@x86 ;
|
||||
} else {
|
||||
AddFilesToPackage add-ons kernel busses ide
|
||||
: generic_ide_pci it8211 legacy_sata silicon_image_3112
|
||||
$(X86_ONLY)ide_isa ;
|
||||
: generic_ide_pci it8211 legacy_sata silicon_image_3112 ide_isa@x86 ;
|
||||
}
|
||||
|
||||
AddFilesToPackage add-ons kernel busses scsi : ahci ;
|
||||
AddFilesToPackage add-ons kernel busses usb : <usb>uhci <usb>ohci <usb>ehci ;
|
||||
AddFilesToPackage add-ons kernel console : vga_text ;
|
||||
AddFilesToPackage add-ons kernel debugger
|
||||
: <kdebug>demangle $(X86_ONLY)<kdebug>disasm <kdebug>hangman
|
||||
<kdebug>invalidate_on_exit <kdebug>usb_keyboard <kdebug>run_on_exit ;
|
||||
: <kdebug>demangle <kdebug>disasm@x86 <kdebug>hangman
|
||||
<kdebug>invalidate_on_exit <kdebug>usb_keyboard <kdebug>qrencode
|
||||
<kdebug>run_on_exit ;
|
||||
AddFilesToPackage add-ons kernel file_systems : $(SYSTEM_ADD_ONS_FILE_SYSTEMS) ;
|
||||
AddFilesToPackage add-ons kernel generic
|
||||
: $(ATA_ONLY)ata_adapter dpc $(IDE_ONLY)ide_adapter locked_pool mpu401
|
||||
scsi_periph <module>tty ;
|
||||
: ata_adapter@ata bios@x86 dpc ide_adapter@ide
|
||||
locked_pool mpu401 scsi_periph <module>tty ;
|
||||
AddFilesToPackage add-ons kernel partitioning_systems
|
||||
: amiga_rdb apple efi_gpt intel session ;
|
||||
AddFilesToPackage add-ons kernel interrupt_controllers : $(PPC_ONLY)openpic ;
|
||||
AddFilesToPackage add-ons kernel interrupt_controllers : openpic@ppc ;
|
||||
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
AddFilesToPackage add-ons kernel cpu : generic_x86 ;
|
||||
@@ -58,8 +57,9 @@ if $(TARGET_ARCH) = x86 {
|
||||
|
||||
# drivers
|
||||
AddNewDriversToPackage disk scsi : scsi_cd scsi_disk ;
|
||||
AddNewDriversToPackage power : $(X86_ONLY)enhanced_speedstep ;
|
||||
AddNewDriversToPackage power : $(X86_ONLY)acpi_battery ;
|
||||
AddNewDriversToPackage power : enhanced_speedstep@x86 ;
|
||||
AddNewDriversToPackage power : acpi_battery@x86 ;
|
||||
#AddNewDriversToPackage display : display_controls@x86 ;
|
||||
|
||||
# legacy drivers
|
||||
AddDriversToPackage : console dprintf null random <driver>tty
|
||||
@@ -68,7 +68,7 @@ AddDriversToPackage audio hmulti : $(SYSTEM_ADD_ONS_DRIVERS_AUDIO) ;
|
||||
AddDriversToPackage audio old : $(SYSTEM_ADD_ONS_DRIVERS_AUDIO_OLD) ;
|
||||
AddDriversToPackage midi : $(SYSTEM_ADD_ONS_DRIVERS_MIDI) ;
|
||||
AddDriversToPackage bus : usb_raw fw_raw ;
|
||||
AddDriversToPackage disk floppy : $(X86_ONLY)pc_floppy ;
|
||||
AddDriversToPackage disk floppy : pc_floppy@x86 ;
|
||||
AddDriversToPackage disk usb : usb_disk ;
|
||||
AddDriversToPackage disk usb : usb_floppy ;
|
||||
AddDriversToPackage printer usb : usb_printer ;
|
||||
@@ -100,9 +100,8 @@ if $(HAIKU_GCC_VERSION[1]) = 2 {
|
||||
}
|
||||
|
||||
|
||||
# libGL.so has GLU (like BeOS) *and* GLUT API built-in
|
||||
SYSTEM_LIBS_LIBGL_ALIASES
|
||||
= libGLU.so libglut.so ;
|
||||
# libGL.so has GLU (like BeOS) built-in
|
||||
SYSTEM_LIBS_LIBGL_ALIASES = libGLU.so ;
|
||||
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
local lib ;
|
||||
@@ -117,12 +116,44 @@ SYSTEM_LIBS_ALIASES =
|
||||
$(SYSTEM_LIBS_LIBGL_ALIASES)
|
||||
;
|
||||
|
||||
OPTIONAL_LIBS_ALIASES =
|
||||
libfreetype.so
|
||||
libjpeg.so
|
||||
libpng.so
|
||||
libz.so
|
||||
;
|
||||
|
||||
# TODO: Remove the following symlinks when the libraries have been packaged
|
||||
# properly!
|
||||
# libfreetype.so links to the current freetype lib
|
||||
AddSymlinkToPackage lib : $(HAIKU_FREETYPE_CURRENT_LIB:BS)
|
||||
: $(HAIKU_FREETYPE_CURRENT_LINK) : : true ;
|
||||
AddSymlinkToPackage lib : $(HAIKU_FREETYPE_CURRENT_LINK)
|
||||
: libfreetype.so : : true ;
|
||||
|
||||
# libpng.so links to the current libpng
|
||||
AddSymlinkToPackage lib : $(HAIKU_LIBPNG_CURRENT_LIB:BS)
|
||||
: $(HAIKU_LIBPNG_CURRENT_LINK) : : true ;
|
||||
AddSymlinkToPackage lib : $(HAIKU_LIBPNG_CURRENT_LINK)
|
||||
: libpng.so : : true ;
|
||||
|
||||
# libjpeg.so links to the current libjpeg
|
||||
AddSymlinkToPackage lib : $(HAIKU_JPEG_CURRENT_LIB:BS)
|
||||
: $(HAIKU_JPEG_CURRENT_LINK) : : true ;
|
||||
AddSymlinkToPackage lib : $(HAIKU_JPEG_CURRENT_LINK)
|
||||
: libjpeg.so : : true ;
|
||||
|
||||
# zlib.so links to the current zlib
|
||||
AddSymlinkToPackage lib : $(HAIKU_ZLIB_CURRENT_LIB:BS)
|
||||
: $(HAIKU_ZLIB_CURRENT_LINK) : : true ;
|
||||
AddSymlinkToPackage lib : $(HAIKU_ZLIB_CURRENT_LINK)
|
||||
: libz.so : : true ;
|
||||
|
||||
# servers
|
||||
AddFilesToPackage servers : $(SYSTEM_SERVERS) ;
|
||||
|
||||
# apps
|
||||
AddFilesToPackage : runtime_loader ;
|
||||
AddFilesToPackage : Deskbar Tracker ;
|
||||
AddFilesToPackage : runtime_loader Deskbar Tracker ;
|
||||
AddFilesToPackage bin : $(SYSTEM_BIN) consoled ;
|
||||
AddFilesToPackage apps : $(SYSTEM_APPS) ;
|
||||
AddFilesToPackage preferences : $(SYSTEM_PREFERENCES) ;
|
||||
@@ -135,16 +166,12 @@ AddFilesToPackage bin : install-wifi-firmwares.sh ;
|
||||
|
||||
AddSymlinkToPackage bin : bash : sh ;
|
||||
AddSymlinkToPackage bin : trash : untrash ;
|
||||
|
||||
AddSymlinkToPackage bin : bzip2 : bunzip2 ;
|
||||
AddSymlinkToPackage bin : less : more ;
|
||||
AddSymlinkToPackage bin : gzip : gunzip ;
|
||||
AddSymlinkToPackage bin : gzip : zcat ;
|
||||
AddSymlinkToPackage bin : zdiff : zcmp ;
|
||||
AddSymlinkToPackage bin : unzip : zipinfo ;
|
||||
AddSymlinkToPackage bin : gawk : awk ;
|
||||
AddSymlinkToPackage bin : grep : egrep ;
|
||||
AddSymlinkToPackage bin : grep : fgrep ;
|
||||
|
||||
# scripts and data files
|
||||
local bootScripts = Bootscript Bootscript.cd SetupEnvironment Netscript
|
||||
@@ -163,7 +190,7 @@ AddFilesToPackage boot post_install : $(postInstallFiles) ;
|
||||
# Gutenprint data files
|
||||
CopyDirectoryToPackage data
|
||||
: [ FDirName $(HAIKU_TOP) src libs print libgutenprint src xml ]
|
||||
: gutenprint : -x .svn -x *.c -x Makefile.am -x Makefile.in ;
|
||||
: gutenprint : -x *.c -x Makefile.am -x Makefile.in ;
|
||||
|
||||
# artwork and sounds
|
||||
local logoArtwork =
|
||||
@@ -178,11 +205,6 @@ spellFiles = $(spellFiles:G=spell) ;
|
||||
SEARCH on $(spellFiles) = [ FDirName $(HAIKU_TOP) src apps mail ] ;
|
||||
AddFilesToPackage data spell_check word_dictionary : $(spellFiles) ;
|
||||
|
||||
local dataFiles = teapot.data ;
|
||||
dataFiles = $(dataFiles:G=data) ;
|
||||
SEARCH on $(dataFiles) = [ FDirName $(HAIKU_TOP) data system data ] ;
|
||||
AddFilesToPackage data : $(dataFiles) ;
|
||||
|
||||
local fortuneFiles = [ Glob $(HAIKU_TOP)/data/system/data/fortunes
|
||||
: [a-zA-Z0-9]* ] ;
|
||||
fortuneFiles = $(fortuneFiles:G=data!fortunes) ;
|
||||
@@ -269,24 +291,31 @@ AddFilesToPackage : haiku_loader ;
|
||||
|
||||
# boot module links
|
||||
AddBootModuleSymlinksToPackage
|
||||
$(X86_ONLY)acpi $(ATA_ONLY)ata pci $(X86_ONLY)isa config_manager dpc
|
||||
$(IDE_ONLY)ide scsi usb
|
||||
$(PPC_ONLY)openpic
|
||||
$(ATA_ONLY)ata_adapter $(IDE_ONLY)ide_adapter locked_pool scsi_periph
|
||||
acpi@x86 ata@ata pci isa@x86 config_manager dpc
|
||||
ide@ide scsi usb
|
||||
openpic@ppc
|
||||
ata_adapter@ata ide_adapter@ide locked_pool scsi_periph
|
||||
ahci generic_ide_pci it8211 legacy_sata silicon_image_3112
|
||||
$(X86_ONLY)ide_isa
|
||||
ide_isa@x86
|
||||
<usb>uhci <usb>ohci <usb>ehci
|
||||
scsi_cd scsi_disk usb_disk
|
||||
efi_gpt
|
||||
intel
|
||||
bfs packagefs
|
||||
;
|
||||
|
||||
# add-ons
|
||||
AddFilesToPackage add-ons accelerants : $(SYSTEM_ADD_ONS_ACCELERANTS) ;
|
||||
AddFilesToPackage add-ons opengl : Mesa\ Software\ Renderer ;
|
||||
AddFilesToPackage add-ons Translators : $(SYSTEM_ADD_ONS_TRANSLATORS) ;
|
||||
AddFilesToPackage add-ons locale catalogs : $(SYSTEM_ADD_ONS_LOCALE_CATALOGS) ;
|
||||
|
||||
AddFilesToPackage add-ons opengl :
|
||||
x86 @{
|
||||
Legacy\ Software\ Rasterizer@gcc2
|
||||
Software\ Rasterizer@!gcc2
|
||||
}@ # x86
|
||||
;
|
||||
|
||||
AddFilesToPackage add-ons mail_daemon inbound_protocols : POP3 IMAP ;
|
||||
AddFilesToPackage add-ons mail_daemon outbound_protocols : SMTP ;
|
||||
AddFilesToPackage add-ons mail_daemon inbound_filters
|
||||
@@ -295,6 +324,7 @@ AddFilesToPackage add-ons mail_daemon outbound_filters : Fortune ;
|
||||
|
||||
AddFilesToPackage add-ons media : $(SYSTEM_ADD_ONS_MEDIA) ;
|
||||
AddFilesToPackage add-ons media plugins : $(SYSTEM_ADD_ONS_MEDIA_PLUGINS) ;
|
||||
|
||||
AddFilesToPackage add-ons Tracker
|
||||
: FileType-F Mark\ as… Mark\ as\ Read-R Open\ Target\ Folder-O
|
||||
Open\ Terminal-T ZipOMatic-Z ;
|
||||
@@ -304,25 +334,28 @@ AddSymlinkToPackage add-ons Tracker
|
||||
: /boot/system/apps/TextSearch : TextSearch-G ;
|
||||
AddSymlinkToPackage add-ons Tracker
|
||||
: /boot/system/apps/DiskUsage : DiskUsage-I ;
|
||||
|
||||
AddFilesToPackage add-ons input_server devices
|
||||
: <input>keyboard <input>mouse <input>tablet <input>wacom ;
|
||||
AddFilesToPackage add-ons input_server filters
|
||||
: screen_saver shortcut_catcher ;
|
||||
AddFilesToPackage add-ons kernel network
|
||||
: <net>notifications stack ;
|
||||
AddFilesToPackage add-ons kernel network devices
|
||||
: $(SYSTEM_NETWORK_DEVICES) ;
|
||||
|
||||
AddFilesToPackage add-ons kernel network : <net>notifications stack ;
|
||||
AddFilesToPackage add-ons kernel network : dns_resolver ;
|
||||
AddFilesToPackage add-ons kernel network devices : $(SYSTEM_NETWORK_DEVICES) ;
|
||||
AddFilesToPackage add-ons kernel network datalink_protocols
|
||||
: $(SYSTEM_NETWORK_DATALINK_PROTOCOLS) ;
|
||||
AddFilesToPackage add-ons kernel network ppp: $(SYSTEM_NETWORK_PPP) ;
|
||||
AddFilesToPackage add-ons kernel network protocols
|
||||
: $(SYSTEM_NETWORK_PROTOCOLS) ;
|
||||
|
||||
AddFilesToPackage add-ons Print : $(SYSTEM_ADD_ONS_PRINT) ;
|
||||
AddFilesToPackage add-ons Print transport
|
||||
: $(SYSTEM_ADD_ONS_PRINT_TRANSPORT) ;
|
||||
AddFilesToPackage add-ons Screen\ Savers : $(SYSTEM_ADD_ONS_SCREENSAVERS) ;
|
||||
|
||||
AddFilesToPackage add-ons disk_systems : <disk_system>intel <disk_system>bfs ;
|
||||
AddFilesToPackage add-ons disk_systems
|
||||
: <disk_system>intel <disk_system>gpt <disk_system>bfs <disk_system>ntfs ;
|
||||
|
||||
|
||||
# optional
|
||||
@@ -334,22 +367,26 @@ AddFilesToPackage optional add-ons input_server methods : canna ;
|
||||
# PDF Writer enconding files
|
||||
CopyDirectoryToPackage data
|
||||
: [ FDirName $(HAIKU_TOP) src add-ons print drivers pdf encoding ]
|
||||
: "PDF Writer" : -x .svn -x Jamfile ;
|
||||
: "PDF Writer" : -x Jamfile ;
|
||||
|
||||
# licenses
|
||||
CopyDirectoryToPackage data
|
||||
: [ FDirName $(HAIKU_TOP) data system data licenses ]
|
||||
: licenses : -x .svn ;
|
||||
: licenses ;
|
||||
|
||||
# Copy documentation as per DiskUsage's license requirement.
|
||||
CopyDirectoryToPackage documentation
|
||||
: [ FDirName $(HAIKU_TOP) docs apps diskusage ]
|
||||
: diskusage : -x .svn ;
|
||||
: diskusage ;
|
||||
|
||||
# Copy documentation as per PDFlib Lite's license requirement.
|
||||
# Copy documentation and sample programs as per PDFlib Lite's license
|
||||
# requirement.
|
||||
CopyDirectoryToPackage documentation
|
||||
: [ FDirName $(HAIKU_TOP) src libs pdflib doc ]
|
||||
: pdflib : -x .svn ;
|
||||
: pdflib ;
|
||||
CopyDirectoryToPackage develop sample-code
|
||||
: [ FDirName $(HAIKU_TOP) src libs pdflib bind pdflib ]
|
||||
: pdflib ;
|
||||
|
||||
|
||||
BuildHaikuPackage $(haikuPackage) : haiku ;
|
||||
@@ -428,18 +465,28 @@ AddHeaderDirectoryToPackage compatibility bsd : bsd ;
|
||||
AddHeaderDirectoryToPackage compatibility gnu : gnu ;
|
||||
|
||||
# third party libs headers
|
||||
AddHeaderDirectoryToPackage libs freetype2 : 3rdparty ;
|
||||
AddHeaderDirectoryToPackage libs jpeg : 3rdparty ;
|
||||
AddHeaderDirectoryToPackage libs png : 3rdparty ;
|
||||
AddHeaderDirectoryToPackage libs termcap : 3rdparty ;
|
||||
AddHeaderDirectoryToPackage libs tiff : 3rdparty ;
|
||||
AddHeaderDirectoryToPackage libs zlib : 3rdparty ;
|
||||
|
||||
CopyDirectoryToPackage develop headers :
|
||||
[ FDirName $(HAIKU_FREETYPE_DIR) develop headers 3rdparty ] ;
|
||||
CopyDirectoryToPackage develop headers : $(HAIKU_JPEG_HEADERS) : 3rdparty ;
|
||||
CopyDirectoryToPackage develop headers : $(HAIKU_LIBPNG_HEADERS) : 3rdparty ;
|
||||
CopyDirectoryToPackage develop headers : $(HAIKU_ZLIB_HEADERS) : 3rdparty ;
|
||||
|
||||
# cpp headers
|
||||
if $(HAIKU_GCC_VERSION[1]) = 2 {
|
||||
# GCC 2 only -- for GCC 4 they come with the DevelopmentBase package
|
||||
CopyDirectoryToPackage $(developDirTokens) headers c++
|
||||
: [ FDirName $(HAIKU_TOP) headers cpp ] : 2.95.3 : -x .svn ;
|
||||
: [ FDirName $(HAIKU_TOP) headers cpp ] : 2.95.3 ;
|
||||
}
|
||||
|
||||
# OpenGL headers
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
CopyDirectoryToPackage $(developDirTokens) headers os opengl
|
||||
: [ FDirName $(HAIKU_MESA_HEADERS) GL ] ;
|
||||
CopyDirectoryToPackage $(developDirTokens) headers os opengl
|
||||
: [ FDirName $(HAIKU_GLU_HEADERS) GL ] ;
|
||||
}
|
||||
|
||||
BuildHaikuPackage $(haikuDevelPackage) : haiku_devel ;
|
||||
@@ -452,7 +499,7 @@ local haikuUserGuidePackage = haiku_userguide.hpkg ;
|
||||
HaikuPackage $(haikuUserGuidePackage) ;
|
||||
|
||||
CopyDirectoryToPackage documentation : [ FDirName $(HAIKU_TOP) docs userguide ]
|
||||
: userguide : -x .svn ;
|
||||
: userguide ;
|
||||
SEARCH on userguide = [ FDirName $(HAIKU_TOP) data bin ] ;
|
||||
AddFilesToPackage bin : userguide ;
|
||||
|
||||
@@ -466,7 +513,7 @@ local haikuWelcomePackage = haiku_welcome.hpkg ;
|
||||
HaikuPackage $(haikuWelcomePackage) ;
|
||||
|
||||
CopyDirectoryToPackage documentation : [ FDirName $(HAIKU_TOP) docs welcome ]
|
||||
: welcome : -x .svn ;
|
||||
: welcome ;
|
||||
SEARCH on welcome = [ FDirName $(HAIKU_TOP) data bin ] ;
|
||||
AddFilesToPackage bin : welcome ;
|
||||
|
||||
|
||||
@@ -96,6 +96,62 @@ rule FSplitPath
|
||||
return $(components) ;
|
||||
}
|
||||
|
||||
|
||||
rule FSetConditionsHold conditions : set
|
||||
{
|
||||
# FSetConditionsHold <conditions> : <set> ;
|
||||
# Checks whether the conditions <conditions> are satisfied by the list of
|
||||
# elements <set> and returns a respective result (if so: "1", if not: empty
|
||||
# list). The conditions are satisfied when <conditions> is not empty and
|
||||
# * none of the negative conditions it contains hold and
|
||||
# * if <conditions> contains any positive conditions, at least one one of
|
||||
# those holds.
|
||||
# A positive condition is an element not starting with a "!". It holds when
|
||||
# the element is contained in <set>.
|
||||
# A negative condition is an element that starts with a "!". It holds when
|
||||
# the string resulting from removing the leading "!" is not contained in
|
||||
# <set>.
|
||||
#
|
||||
# <conditions> - The list of conditions.
|
||||
# <set> - The elements against which the conditions are tested.
|
||||
#
|
||||
# Examples:
|
||||
# For set { a b c } the following conditions hold:
|
||||
# { a }, { a d }, { !d }, { !d !e }, { a !d }, { b !e !f }
|
||||
# The following conditions don't hold:
|
||||
# { }, { d }, { d e }, { !a }, { !a b }, { !d e } { a b !c !d }
|
||||
|
||||
local hasPositive ;
|
||||
local hasNegative ;
|
||||
local positiveMatch ;
|
||||
local condition ;
|
||||
for condition in $(conditions) {
|
||||
switch $(condition) {
|
||||
case !* :
|
||||
{
|
||||
hasNegative = 1 ;
|
||||
condition = [ Match "!(.*)" : $(condition) ] ;
|
||||
if $(condition) in $(set) {
|
||||
return ;
|
||||
}
|
||||
}
|
||||
case * :
|
||||
{
|
||||
hasPositive = 1 ;
|
||||
if $(condition) in $(set) {
|
||||
positiveMatch = 1 ;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if $(hasPositive) {
|
||||
return $(positiveMatch) ;
|
||||
}
|
||||
return $(hasNegative) ;
|
||||
}
|
||||
|
||||
|
||||
rule SetPlatformCompatibilityFlagVariables
|
||||
{
|
||||
# SetPlatformCompatibilityFlagVariables <platform var> : <var prefix>
|
||||
|
||||
+32
-7
@@ -197,6 +197,8 @@ rule AddFilesToContainer container : directoryTokens : targets : destName
|
||||
local systemDirTokens
|
||||
= [ on $(container) return $(HAIKU_CONTAINER_SYSTEM_DIR_TOKENS) ] ;
|
||||
|
||||
targets = [ FFilterByBuildFeatures $(targets) ] ;
|
||||
|
||||
# If the image shall only be updated, we filter out all targets not marked
|
||||
# accordingly.
|
||||
if [ on $(container) return $(HAIKU_CONTAINER_UPDATE_ONLY) ]
|
||||
@@ -378,10 +380,10 @@ rule AddWifiFirmwareToContainer container : driver : package : archive : extract
|
||||
|
||||
|
||||
rule ExtractArchiveToContainer container : directoryTokens : archiveFile
|
||||
: alwaysUpdate : extractedSubDir
|
||||
: alwaysUpdate : extractedSubDir : stripDebugSymbols
|
||||
{
|
||||
# ExtractArchiveToContainer <container> : <directory> : <archiveFile>
|
||||
# : <alwaysUpdate> : <extractedSubDir> ;
|
||||
# : <alwaysUpdate> : <extractedSubDir> : <stripDebugSymbols> ;
|
||||
|
||||
# If the container shall only be updated, we extract only, if explicitely
|
||||
# requested.
|
||||
@@ -395,6 +397,7 @@ rule ExtractArchiveToContainer container : directoryTokens : archiveFile
|
||||
|
||||
ARCHIVE_FILES_TO_INSTALL on $(directory) += $(archiveFile) ;
|
||||
ARCHIVE_SUBDIR_TO_INSTALL_FROM on $(archiveFile) = $(extractedSubDir) ;
|
||||
ARCHIVE_FILES_TO_STRIP on $(archiveFile) = $(stripDebugSymbols) ;
|
||||
}
|
||||
|
||||
rule AddDriversToContainer container : relativeDirectoryTokens : targets
|
||||
@@ -406,6 +409,8 @@ rule AddDriversToContainer container : relativeDirectoryTokens : targets
|
||||
local directoryTokens = $(systemDirTokens) add-ons kernel drivers dev
|
||||
$(relativeDirectoryTokens) ;
|
||||
|
||||
targets = [ FFilterByBuildFeatures $(targets) ] ;
|
||||
|
||||
AddFilesToContainer $(container)
|
||||
: $(systemDirTokens) add-ons kernel drivers bin
|
||||
: $(targets) ;
|
||||
@@ -441,6 +446,8 @@ rule AddNewDriversToContainer container : relativeDirectoryTokens
|
||||
local directoryTokens = $(systemDirTokens) add-ons kernel drivers
|
||||
$(relativeDirectoryTokens) ;
|
||||
|
||||
targets = [ FFilterByBuildFeatures $(targets) ] ;
|
||||
|
||||
AddFilesToContainer $(container) : $(directoryTokens)
|
||||
: $(targets) ;
|
||||
}
|
||||
@@ -459,6 +466,7 @@ rule AddBootModuleSymlinksToContainer container : targets
|
||||
|
||||
local systemDirTokens
|
||||
= [ on $(container) return $(HAIKU_CONTAINER_SYSTEM_DIR_TOKENS) ] ;
|
||||
targets = [ FFilterByBuildFeatures $(targets) ] ;
|
||||
|
||||
# add the symlinks
|
||||
local installTargetsVar
|
||||
@@ -744,6 +752,11 @@ rule CreateContainerExtractFilesScript container : script
|
||||
ARCHIVE_SUBDIR_TO_INSTALL_FROM on $(dummyTarget) =
|
||||
$(extractedSubDir:E=.) ;
|
||||
|
||||
local stripDebugSymbols = [ on $(archiveFile)
|
||||
return $(ARCHIVE_FILES_TO_STRIP) ] ;
|
||||
STRIP_DEBUG_SYMBOLS_FROM_ARCHIVE on $(dummyTarget) =
|
||||
$(stripDebugSymbols) ;
|
||||
|
||||
Depends $(dummyTarget) : $(initScript) $(archiveFile)
|
||||
$(serializationDependency) ;
|
||||
Depends $(script) : $(dummyTarget) ;
|
||||
@@ -759,7 +772,8 @@ rule CreateContainerExtractFilesScript container : script
|
||||
actions AddExtractFileToContainerExtractFilesScript
|
||||
{
|
||||
echo extractFile "\"$(2[2])\"" "\"$(TARGET_DIR)\"" \
|
||||
"\"$(ARCHIVE_SUBDIR_TO_INSTALL_FROM)\"" >> $(2[1])
|
||||
"\"$(ARCHIVE_SUBDIR_TO_INSTALL_FROM)\"" \
|
||||
"\"$(STRIP_DEBUG_SYMBOLS_FROM_ARCHIVE)\"" >> $(2[1])
|
||||
}
|
||||
|
||||
|
||||
@@ -827,7 +841,7 @@ rule AddSourceDirectoryToHaikuImage dirTokens : alwaysUpdate
|
||||
|
||||
CopyDirectoryToHaikuImage home HaikuSources
|
||||
: [ FDirName $(HAIKU_TOP) $(dirTokens) ]
|
||||
: : -x .svn : $(alwaysUpdate) ;
|
||||
: : : $(alwaysUpdate) ;
|
||||
}
|
||||
|
||||
rule AddHeaderDirectoryToHaikuImage dirTokens : dirName : alwaysUpdate
|
||||
@@ -848,13 +862,14 @@ rule AddWifiFirmwareToHaikuImage driver : package : archive : extract
|
||||
}
|
||||
|
||||
rule ExtractArchiveToHaikuImage dirTokens : archiveFile : alwaysUpdate
|
||||
: extractedSubDir
|
||||
: extractedSubDir : stripDebugSymbols
|
||||
{
|
||||
# ExtractArchiveToHaikuImage <dirTokens> : <archiveFile> : <alwaysUpdate>
|
||||
# : <extractedSubDir> ;
|
||||
|
||||
ExtractArchiveToContainer $(HAIKU_IMAGE_CONTAINER_NAME) : $(dirTokens)
|
||||
: $(archiveFile) : $(alwaysUpdate) : $(extractedSubDir) ;
|
||||
: $(archiveFile) : $(alwaysUpdate) : $(extractedSubDir)
|
||||
: $(stripDebugSymbols) ;
|
||||
}
|
||||
|
||||
rule AddDriversToHaikuImage relativeDirectoryTokens : targets
|
||||
@@ -948,6 +963,7 @@ rule InstallSourceArchive file : url
|
||||
}
|
||||
|
||||
rule InstallOptionalHaikuImagePackage url : dirTokens : isCDPackage
|
||||
: stripDebugSymbols
|
||||
{
|
||||
# TODO: Remove the non-hpkg cases!
|
||||
# Currently the semantics differs depending on isCDPackage and the type of
|
||||
@@ -979,8 +995,17 @@ rule InstallOptionalHaikuImagePackage url : dirTokens : isCDPackage
|
||||
# copy onto image
|
||||
AddFilesToHaikuImage _packages_ : $(archiveFile) ;
|
||||
} else {
|
||||
if $(HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES) = 1 {
|
||||
stripDebugSymbols ?= 1 ;
|
||||
# The script will only test for = 1. This is in case someone
|
||||
# manually set the flag 'true'
|
||||
if $(stripDebugSymbols) = true {
|
||||
stripDebugSymbols = 1 ;
|
||||
}
|
||||
}
|
||||
# extract onto image
|
||||
ExtractArchiveToHaikuImage $(dirTokens) : $(archiveFile) ;
|
||||
ExtractArchiveToHaikuImage $(dirTokens) : $(archiveFile)
|
||||
: : : $(stripDebugSymbols) ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+21
-3
@@ -48,9 +48,9 @@ rule KernelLd
|
||||
# libsupc++ is opt-out.
|
||||
local libs ;
|
||||
if ! [ on $(1) return HAIKU_NO_LIBSUPC++ ] {
|
||||
libs += $(TARGET_STATIC_LIBSUPC++) ;
|
||||
libs += $(TARGET_KERNEL_LIBSUPC++) ;
|
||||
}
|
||||
LINKLIBS on $(1) = $(libs) $(TARGET_GCC_LIBGCC) ;
|
||||
LINKLIBS on $(1) = $(libs) $(TARGET_KERNEL_LIBGCC) ;
|
||||
|
||||
# TODO: Do we really want to invoke SetupKernel here? The objects should
|
||||
# have been compiled with KernelObjects anyway, so we're doing that twice.
|
||||
@@ -77,6 +77,24 @@ actions KernelLd bind VERSION_SCRIPT
|
||||
--version-script=$(VERSION_SCRIPT)
|
||||
}
|
||||
|
||||
rule KernelSo target : source
|
||||
{
|
||||
# KernelSo <target> : <source>
|
||||
|
||||
Depends $(target) : <build>copyattr $(source) ;
|
||||
|
||||
MakeLocateDebug $(1) ;
|
||||
KernelSo1 $(target) : <build>copyattr $(source) ;
|
||||
}
|
||||
|
||||
actions KernelSo1
|
||||
{
|
||||
$(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR)
|
||||
|
||||
$(2[1]) --data $(2[2]) $(1) &&
|
||||
$(HAIKU_ELFEDIT) --output-type dyn $(1)
|
||||
}
|
||||
|
||||
rule KernelAddon
|
||||
{
|
||||
# KernelAddon <name> : <sources> : <static-libraries> : <res> ;
|
||||
@@ -117,7 +135,7 @@ rule KernelAddon
|
||||
# compile and link
|
||||
SetupKernel $(sources) : $(TARGET_KERNEL_PIC_FLAGS) : false ;
|
||||
local linkFlags = -nostdlib -Xlinker --no-undefined
|
||||
-Xlinker -soname=\"$(target:G=)\" ;
|
||||
-Xlinker -soname=\"$(target:G=)\" $(TARGET_KERNEL_ADDON_LINKFLAGS) ;
|
||||
LINKFLAGS on $(target) = [ on $(target) return $(LINKFLAGS) ] $(linkFlags) ;
|
||||
Main $(target) : $(sources) ;
|
||||
LinkAgainst $(target) : $(libs) $(kernel) ;
|
||||
|
||||
@@ -14,10 +14,10 @@ rule ExtractCatalogEntries target : sources : signature : regexp
|
||||
local systemIncludesOption ;
|
||||
|
||||
on $(target) { # use on $(target) variable values
|
||||
defines = $(DEFINES) ;
|
||||
headers = $(HAIKU_CONFIG_HEADERS) $(SEARCH_SOURCE) $(SUBDIRHDRS)
|
||||
$(HDRS) ;
|
||||
sysHeaders = $(SUBDIRSYSHDRS) $(SYSHDRS) ;
|
||||
defines = $(DEFINES) ;
|
||||
|
||||
if $(PLATFORM) = host {
|
||||
sysHeaders += $(HOST_HDRS) ;
|
||||
@@ -57,10 +57,8 @@ rule ExtractCatalogEntries target : sources : signature : regexp
|
||||
|
||||
SEARCH on $(sources) += $(SEARCH_SOURCE) ;
|
||||
|
||||
local subdir
|
||||
= [ on $(signature) return $(HAIKU_CATALOGS_SUBDIR) ] ;
|
||||
MakeLocate $(target)
|
||||
: [ FDirName $(HAIKU_CATALOGS_OBJECT_DIR) $(subdir) ] ;
|
||||
local subdir = [ on $(signature) return $(HAIKU_CATALOGS_SUBDIR) ] ;
|
||||
MakeLocate $(target) : [ FDirName $(HAIKU_CATALOGS_OBJECT_DIR) $(subdir) ] ;
|
||||
Depends $(target) : $(sources) <build>collectcatkeys ;
|
||||
LocalClean clean : $(target).pre ;
|
||||
ExtractCatalogEntries1 $(target) : <build>collectcatkeys $(sources) ;
|
||||
@@ -82,10 +80,8 @@ rule LinkApplicationCatalog target : sources : signature : language
|
||||
# if the fingerprint matches the one from the untranslated catalog for the
|
||||
# same file.
|
||||
|
||||
local subdir
|
||||
= [ on $(signature) return $(HAIKU_CATALOGS_SUBDIR) ] ;
|
||||
MakeLocate $(target)
|
||||
: [ FDirName $(HAIKU_CATALOGS_OBJECT_DIR) $(subdir) ] ;
|
||||
local subdir = [ on $(signature) return $(HAIKU_CATALOGS_SUBDIR) ] ;
|
||||
MakeLocate $(target) : [ FDirName $(HAIKU_CATALOGS_OBJECT_DIR) $(subdir) ] ;
|
||||
Depends $(target) : $(sources) <build>linkcatkeys ;
|
||||
LocalClean clean : $(target) ;
|
||||
|
||||
|
||||
@@ -115,7 +115,7 @@ rule Addon target : sources : libraries : isExecutable
|
||||
|
||||
local linkFlags = -Xlinker -soname=\"$(target:G=)\" ;
|
||||
if $(isExecutable) != true {
|
||||
linkFlags = -nostart $(linkFlags) ;
|
||||
linkFlags = -shared $(linkFlags) ;
|
||||
}
|
||||
LINKFLAGS on $(target) = [ on $(target) return $(LINKFLAGS) ] $(linkFlags) ;
|
||||
LinkAgainst $(target) : $(libraries) ;
|
||||
@@ -421,7 +421,7 @@ rule SharedLibraryFromObjects
|
||||
|
||||
MainFromObjects $(_lib) : $(2) ;
|
||||
LINKFLAGS on $(_lib) = [ on $(_lib) return $(LINKFLAGS) ]
|
||||
-nostart -Xlinker -soname=\"$(soname)\" ;
|
||||
-shared -Xlinker -soname=\"$(soname)\" ;
|
||||
LinkAgainst $(_lib) : $(3) ;
|
||||
|
||||
AddSharedObjectGlueCode $(_lib) : false ;
|
||||
|
||||
@@ -427,3 +427,166 @@ rule DefineBuildProfile name : type : path {
|
||||
|
||||
return 1 ;
|
||||
}
|
||||
|
||||
|
||||
# pragma mark - Build Features
|
||||
|
||||
|
||||
rule FIsBuildFeatureEnabled feature
|
||||
{
|
||||
# FIsBuildFeatureEnabled <feature> ;
|
||||
# Returns whether the given build feature <feature> is enabled (if so: "1",
|
||||
# if not: empty list).
|
||||
#
|
||||
# <feature> - The name of the build feature (all lower case).
|
||||
|
||||
if $(feature) in $(HAIKU_BUILD_FEATURES) {
|
||||
return 1 ;
|
||||
}
|
||||
|
||||
return ;
|
||||
}
|
||||
|
||||
|
||||
rule FMatchesBuildFeatures specification
|
||||
{
|
||||
# FMatchesBuildFeatures <specification> ;
|
||||
# Returns whether the given build feature specification <specification>
|
||||
# holds. <specification> consists of positive and negative build feature
|
||||
# conditions. Conditions can be individual list elements and multiple
|
||||
# conditions can be joined, separated by ",", in a single list element. The
|
||||
# effect is the same; they are considered as single set of conditions.
|
||||
# A positive condition does not start with a "!". It holds when the build
|
||||
# feature named by the element is enabled.
|
||||
# A negative condition starts with a "!". It holds when the build feature
|
||||
# named by the string resulting from removing the leading "!" is not
|
||||
# enabled.
|
||||
# <specification> holds when it is not empty and
|
||||
# * none of the negative conditions it contains hold and
|
||||
# * if it contains any positive conditions, at least one one of them holds.
|
||||
#
|
||||
# <specification> - The build feature specification. A list of individual
|
||||
# conditions or conditions joined by ",".
|
||||
|
||||
local splitSpecification ;
|
||||
local element ;
|
||||
for element in $(specification) {
|
||||
splitSpecification += [ FSplitString $(element) : "," ] ;
|
||||
}
|
||||
return [ FSetConditionsHold $(splitSpecification)
|
||||
: $(HAIKU_BUILD_FEATURES) ] ;
|
||||
}
|
||||
|
||||
|
||||
rule FFilterByBuildFeatures list
|
||||
{
|
||||
# FFilterByBuildFeatures <list> ;
|
||||
# Filters the list annotated by build feature specifications and returns the
|
||||
# resulting list. The list can be annotated in two different ways:
|
||||
# * A single list element can be annotated by appending "@<specification>"
|
||||
# to it, with <specification> being a build feature specification (a
|
||||
# single comma-separated string). The element appears in the resulting
|
||||
# list, only if <specification> holds.
|
||||
# * A sublist can be annotated by enclosing it in "<specification> @{" (two
|
||||
# separate list elements) and "}@", with <specification> being a build
|
||||
# feature specification (a single comma-separated string). The enclosed
|
||||
# sublist appears in the resulting list, only if <specification> holds.
|
||||
# The sublist annotations can be nested. The annotations themselves don't
|
||||
# appear in the resulting list.
|
||||
#
|
||||
# <list> - A list annotated with build feature specifications.
|
||||
|
||||
local filteredList ;
|
||||
|
||||
# Since we must look ahead one element to be able to decide whether an
|
||||
# element is a regular list element or a features specification for a
|
||||
# subsequent "@{". Hence we always process an element other than "@{" and
|
||||
# "}@" in the next iteration. We append a dummy element to the list so we
|
||||
# don't need special handling for the last element.
|
||||
local evaluationStack = 1 ;
|
||||
local previousElement ;
|
||||
local element ;
|
||||
for element in $(list) dummy {
|
||||
local stackTop = $(evaluationStack[1]) ;
|
||||
local processElement = $(previousElement) ;
|
||||
switch $(element) {
|
||||
case }@ :
|
||||
{
|
||||
# Pop the topmost specificaton off the stack.
|
||||
evaluationStack = $(evaluationStack[2-]) ;
|
||||
if ! $(evaluationStack) {
|
||||
Exit "FFilterByBuildFeatures: Unbalanced @( in: " $(list) ;
|
||||
}
|
||||
|
||||
processElement = $(previousElement) ;
|
||||
previousElement = ;
|
||||
}
|
||||
case @{ :
|
||||
{
|
||||
if ! $(previousElement) {
|
||||
Exit "FFilterByBuildFeatures: No feature specification"
|
||||
"after )@ in: " $(list) ;
|
||||
}
|
||||
|
||||
if $(evaluationStack[1]) = 1
|
||||
&& [ FMatchesBuildFeatures $(previousElement) ] {
|
||||
evaluationStack = 1 $(evaluationStack) ;
|
||||
} else {
|
||||
evaluationStack = 0 $(evaluationStack) ;
|
||||
}
|
||||
|
||||
processElement = ;
|
||||
previousElement = ;
|
||||
}
|
||||
case * :
|
||||
{
|
||||
processElement = $(previousElement) ;
|
||||
previousElement = $(element) ;
|
||||
}
|
||||
}
|
||||
|
||||
if $(processElement) && $(stackTop) = 1 {
|
||||
local splitElement = [ Match "(.*)@([^@]*)" : $(processElement) ] ;
|
||||
if $(splitElement) {
|
||||
if [ FMatchesBuildFeatures $(splitElement[2]) ] {
|
||||
filteredList += $(splitElement[1]) ;
|
||||
}
|
||||
} else {
|
||||
filteredList += $(processElement) ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if $(evaluationStack[2-]) {
|
||||
Exit "FFilterByBuildFeatures: Unbalanced )@ in: " $(list) ;
|
||||
}
|
||||
|
||||
return $(filteredList) ;
|
||||
}
|
||||
|
||||
|
||||
rule EnableBuildFeatures features : specification
|
||||
{
|
||||
# EnableBuildFeatures <features> : <specification> ;
|
||||
# Enables the build features <features>, if the build features specification
|
||||
# <specification> holds. If <specification> is omitted, the features are
|
||||
# enabled unconditionally.
|
||||
# The rule enables a build feature by adding its given lower case name to
|
||||
# the build variable HAIKU_BUILD_FEATURES and defining a build variable
|
||||
# HAIKU_BUILD_FEATURE_<FEATURE>_ENABLED (<FEATURE> being the upper case name
|
||||
# of the build feature) to "1".
|
||||
#
|
||||
# <features> - A list of build feature names (lower case).
|
||||
# <specification> - An optional build features specification (cf.
|
||||
# FMatchesBuildFeatures).
|
||||
|
||||
if ! $(specification)
|
||||
|| [ FMatchesBuildFeatures $(specification)
|
||||
: $(HAIKU_BUILD_FEATURES) ] {
|
||||
local feature ;
|
||||
for feature in $(features) {
|
||||
HAIKU_BUILD_FEATURES += $(feature) ;
|
||||
HAIKU_BUILD_FEATURE_$(feature:U)_ENABLED = 1 ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+25
-42
@@ -1,43 +1,28 @@
|
||||
# This file defines what ends up in the network boot archive and it executes the
|
||||
# rules building the archive.
|
||||
|
||||
local X86_ONLY = ;
|
||||
local PPC_ONLY = ;
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
X86_ONLY = "" ;
|
||||
} else if $(TARGET_ARCH) = ppc {
|
||||
X86_ONLY = ;
|
||||
}
|
||||
|
||||
local GPL_ONLY = ;
|
||||
if $(HAIKU_INCLUDE_GPL_ADDONS) = 1 {
|
||||
GPL_ONLY = "" ;
|
||||
}
|
||||
|
||||
#HACK: remove when old ide code is removed!
|
||||
local ATA_ONLY = ;
|
||||
local IDE_ONLY = ;
|
||||
if $(HAIKU_ATA_STACK) = 1 {
|
||||
ATA_ONLY = "" ;
|
||||
} else {
|
||||
IDE_ONLY = "" ;
|
||||
}
|
||||
|
||||
SYSTEM_NETWORK_DEVICES = ethernet loopback ;
|
||||
SYSTEM_NETWORK_DATALINK_PROTOCOLS = ethernet_frame <module>arp loopback_frame ;
|
||||
SYSTEM_NETWORK_PROTOCOLS = ipv4 tcp udp icmp unix ;
|
||||
|
||||
SYSTEM_ADD_ONS_DRIVERS_NET = $(X86_ONLY)3com $(X86_ONLY)atheros813x
|
||||
$(X86_ONLY)broadcom440x $(X86_ONLY)broadcom570x etherpci $(X86_ONLY)ipro1000
|
||||
pegasus $(X86_ONLY)rtl8139 rtl8169 $(X86_ONLY)rtl81xx sis900
|
||||
$(X86_ONLY)via_rhine wb840 $(X86_ONLY)ipro100 $(X86_ONLY)nforce
|
||||
SYSTEM_ADD_ONS_DRIVERS_NET = [ FFilterByBuildFeatures
|
||||
x86 @{
|
||||
3com atheros813x
|
||||
broadcom440x broadcom570x ipro1000
|
||||
rtl8139 rtl81xx
|
||||
via_rhine ipro100 nforce
|
||||
marvell_yukon syskonnect
|
||||
attansic_l2 ar81xx
|
||||
}@ # x86
|
||||
|
||||
etherpci pegasus rtl8169 sis900 usb_ecm wb840
|
||||
#vlance
|
||||
$(X86_ONLY)marvell_yukon $(X86_ONLY)syskonnect
|
||||
$(X86_ONLY)attansic_l2 $(X86_ONLY)ar81xx usb_ecm
|
||||
;
|
||||
SYSTEM_ADD_ONS_BUS_MANAGERS = pci $(X86_ONLY)isa $(IDE_ONLY)ide $(ATA_ONLY)ata
|
||||
] ;
|
||||
SYSTEM_ADD_ONS_BUS_MANAGERS = [ FFilterByBuildFeatures
|
||||
pci isa@x86 ide@ide ata@ata
|
||||
scsi config_manager agp_gart
|
||||
;
|
||||
] ;
|
||||
SYSTEM_ADD_ONS_FILE_SYSTEMS = bfs fat iso9660 ;
|
||||
|
||||
|
||||
@@ -45,9 +30,9 @@ SYSTEM_ADD_ONS_FILE_SYSTEMS = bfs fat iso9660 ;
|
||||
AddFilesToNetBootArchive system add-ons kernel bus_managers
|
||||
: $(SYSTEM_ADD_ONS_BUS_MANAGERS) ;
|
||||
AddFilesToNetBootArchive system add-ons kernel busses agp_gart
|
||||
: $(X86_ONLY)<agp_gart>intel ;
|
||||
: <agp_gart>intel@x86 ;
|
||||
AddFilesToNetBootArchive system add-ons kernel busses ide
|
||||
: generic_ide_pci $(X86_ONLY)ide_isa silicon_image_3112 ;
|
||||
: generic_ide_pci ide_isa@x86 silicon_image_3112 ;
|
||||
AddFilesToNetBootArchive system add-ons kernel busses scsi
|
||||
: ahci ;
|
||||
AddFilesToNetBootArchive system add-ons kernel console
|
||||
@@ -55,13 +40,11 @@ AddFilesToNetBootArchive system add-ons kernel console
|
||||
AddFilesToNetBootArchive system add-ons kernel file_systems
|
||||
: $(SYSTEM_ADD_ONS_FILE_SYSTEMS) ;
|
||||
AddFilesToNetBootArchive system add-ons kernel generic
|
||||
: $(IDE_ONLY)ide_adapter $(ATA_ONLY)ata_adapter locked_pool scsi_periph ;
|
||||
AddFilesToNetBootArchive
|
||||
system add-ons kernel partitioning_systems
|
||||
: ide_adapter@ide ata_adapter@ata locked_pool scsi_periph ;
|
||||
AddFilesToNetBootArchive system add-ons kernel partitioning_systems
|
||||
: intel session ;
|
||||
AddFilesToNetBootArchive
|
||||
system add-ons kernel interrupt_controllers
|
||||
: $(PPC_ONLY)openpic ;
|
||||
AddFilesToNetBootArchive system add-ons kernel interrupt_controllers
|
||||
: openpic@ppc ;
|
||||
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
AddFilesToNetBootArchive system add-ons kernel cpu
|
||||
@@ -103,12 +86,12 @@ AddFilesToNetBootArchive
|
||||
# boot module links
|
||||
AddBootModuleSymlinksToNetBootArchive
|
||||
$(SYSTEM_ADD_ONS_BUS_MANAGERS)
|
||||
ahci generic_ide_pci $(X86_ONLY)ide_isa silicon_image_3112
|
||||
ahci generic_ide_pci ide_isa@x86 silicon_image_3112
|
||||
$(SYSTEM_ADD_ONS_FILE_SYSTEMS)
|
||||
$(IDE_ONLY)ide_adapter $(ATA_ONLY)ata_adapter locked_pool scsi_periph
|
||||
ide_adapter@ide ata_adapter@ata locked_pool scsi_periph
|
||||
intel session
|
||||
$(PPC_ONLY)openpic
|
||||
$(X86_ONLY)generic_x86
|
||||
openpic@ppc
|
||||
generic_x86@x86
|
||||
# nbd
|
||||
remote_disk
|
||||
$(SYSTEM_ADD_ONS_DRIVERS_NET)
|
||||
|
||||
@@ -1,254 +0,0 @@
|
||||
# This file contains setup for features that can optionally be used for the
|
||||
# build. For features that require downloading a zip file from somewhere it is
|
||||
# likely the same file use for an optional package.
|
||||
|
||||
|
||||
# SSL
|
||||
|
||||
# Automatically enable the SSL feature, when the optional OpenSSL optional
|
||||
# package is enabled.
|
||||
if [ IsOptionalHaikuImagePackageAdded OpenSSL ] {
|
||||
HAIKU_BUILD_FEATURE_SSL = 1 ;
|
||||
}
|
||||
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
HAIKU_OPENSSL_PACKAGE = openssl-1.0.0e-x86-gcc4-2011-09-08.zip ;
|
||||
} else {
|
||||
HAIKU_OPENSSL_PACKAGE = openssl-1.0.0j-1-x86_gcc2.hpkg ;
|
||||
}
|
||||
|
||||
local baseURL = http://haiku-files.org/files/optional-packages ;
|
||||
local hpkgBaseURL = http://haiku-files.org/files/hpkg ;
|
||||
HAIKU_OPENSSL_URL = $(hpkgBaseURL)/$(HAIKU_OPENSSL_PACKAGE) ;
|
||||
|
||||
if $(HAIKU_BUILD_FEATURE_SSL) {
|
||||
if $(TARGET_ARCH) != x86 {
|
||||
Echo "SSL build feature not available for $(TARGET_ARCH)" ;
|
||||
} else {
|
||||
# Download the package.
|
||||
local zipFile = [ DownloadFile $(HAIKU_OPENSSL_PACKAGE)
|
||||
: $(HAIKU_OPENSSL_URL) ] ;
|
||||
|
||||
# zip file and output directory
|
||||
HAIKU_OPENSSL_ZIP_FILE = $(zipFile) ;
|
||||
HAIKU_OPENSSL_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_OPENSSL_PACKAGE:B) ] ;
|
||||
|
||||
# extract headers and libraries
|
||||
HAIKU_OPENSSL_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_OPENSSL_DIR)
|
||||
: develop/headers/ : $(zipFile) : extracted-openssl
|
||||
] ;
|
||||
|
||||
HAIKU_OPENSSL_LIBS = [ ExtractArchive $(HAIKU_OPENSSL_DIR)
|
||||
:
|
||||
develop/lib/libcrypto.so
|
||||
develop/lib/libssl.so
|
||||
: $(zipFile)
|
||||
: extracted-openssl
|
||||
] ;
|
||||
|
||||
HAIKU_OPENSSL_ENABLED = 1 ;
|
||||
HAIKU_OPENSSL_HEADERS
|
||||
= [ FDirName $(HAIKU_OPENSSL_DIR) develop/headers ] ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# ICU
|
||||
|
||||
# Note ICU isn't actually optional, but is still an external package
|
||||
HAIKU_ICU_GCC_2_PACKAGE = icu-4.8.1.1-2-x86_gcc2.hpkg ;
|
||||
HAIKU_ICU_GCC_4_PACKAGE = icu-4.8.1-x86-gcc4-2011-11-02.zip ;
|
||||
# TODO: Make hpkg!
|
||||
HAIKU_ICU_PPC_PACKAGE = icu-4.8.1-ppc-2011-08-20.zip ;
|
||||
HAIKU_ICU_DEVEL_PACKAGE = icu_devel-4.8.1.1-2-x86_gcc2.hpkg ;
|
||||
# TODO: The devel package is no longer architecture independent!
|
||||
|
||||
if $(TARGET_ARCH) = ppc || $(TARGET_ARCH) = x86 {
|
||||
local icu_package ;
|
||||
if $(TARGET_ARCH) = ppc {
|
||||
icu_package = $(HAIKU_ICU_PPC_PACKAGE) ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) = 2 {
|
||||
icu_package = $(HAIKU_ICU_GCC_2_PACKAGE) ;
|
||||
} else {
|
||||
icu_package = $(HAIKU_ICU_GCC_4_PACKAGE) ;
|
||||
}
|
||||
|
||||
local packageFile = [ DownloadFile $(icu_package)
|
||||
: $(hpkgBaseURL)/$(icu_package) ] ;
|
||||
|
||||
# zip file and output directory
|
||||
HAIKU_ICU_PACKAGE_FILE = $(packageFile) ;
|
||||
HAIKU_ICU_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(icu_package:B) ] ;
|
||||
|
||||
# extract libraries
|
||||
if $(TARGET_ARCH) = ppc {
|
||||
HAIKU_ICU_LIBS = [ ExtractArchive $(HAIKU_ICU_DIR)
|
||||
:
|
||||
libicudata.so.48.1
|
||||
libicui18n.so.48.1
|
||||
libicuio.so.48.1
|
||||
libicule.so.48.1
|
||||
libiculx.so.48.1
|
||||
libicutu.so.48.1
|
||||
libicuuc.so.48.1
|
||||
: $(packageFile)
|
||||
: extracted-icu
|
||||
] ;
|
||||
} else {
|
||||
HAIKU_ICU_LIBS = [ ExtractArchive $(HAIKU_ICU_DIR)
|
||||
:
|
||||
lib/libicudata.so.48.1.1
|
||||
lib/libicui18n.so.48.1.1
|
||||
lib/libicuio.so.48.1.1
|
||||
lib/libicule.so.48.1.1
|
||||
lib/libiculx.so.48.1.1
|
||||
lib/libicutu.so.48.1.1
|
||||
lib/libicuuc.so.48.1.1
|
||||
: $(packageFile)
|
||||
: extracted-icu
|
||||
] ;
|
||||
}
|
||||
} else {
|
||||
Echo "ICU not available for $(TARGET_ARCH)" ;
|
||||
}
|
||||
|
||||
|
||||
# zip file and output directory
|
||||
HAIKU_ICU_DEVEL_ZIP_FILE = [ DownloadFile $(HAIKU_ICU_DEVEL_PACKAGE)
|
||||
: $(hpkgBaseURL)/$(HAIKU_ICU_DEVEL_PACKAGE) ] ;
|
||||
HAIKU_ICU_DEVEL_DIR = $(HAIKU_ICU_DIR) ;
|
||||
|
||||
# extract headers
|
||||
HAIKU_ICU_HEADERS_DEPENDENCY = [ ExtractArchive
|
||||
$(HAIKU_ICU_DEVEL_DIR:G=icu_devel)
|
||||
# We need a grist here, so it's a different target than the one for the
|
||||
# main package, even though it's the same directory.
|
||||
: develop/headers : $(HAIKU_ICU_DEVEL_ZIP_FILE)
|
||||
: extracted-icu-devel ] ;
|
||||
|
||||
HAIKU_ICU_HEADERS
|
||||
= [ FDirName $(HAIKU_ICU_DEVEL_DIR) develop headers ] ;
|
||||
|
||||
|
||||
# CLucene
|
||||
|
||||
# Automatically install the CLucene feature, when the optional CLucene optional
|
||||
# package is enabled.
|
||||
if [ IsOptionalHaikuImagePackageAdded CLucene ] {
|
||||
HAIKU_BUILD_FEATURE_CLUCENE = 1 ;
|
||||
}
|
||||
|
||||
local baseURL = http://haiku-files.org/files/optional-packages ;
|
||||
HAIKU_CLUCENE_PACKAGE = clucene-0.9.21-x86-gcc4-haiku-2009-08-11.zip ;
|
||||
HAIKU_CLUCENE_URL = $(baseURL)/$(HAIKU_CLUCENE_PACKAGE) ;
|
||||
|
||||
if $(HAIKU_BUILD_FEATURE_CLUCENE) {
|
||||
if $(TARGET_ARCH) != x86 {
|
||||
Echo "CLucene build feature not available for $(TARGET_ARCH)" ;
|
||||
} else {
|
||||
# Download the zip archive.
|
||||
local zipFile = [ DownloadFile $(HAIKU_CLUCENE_PACKAGE)
|
||||
: $(HAIKU_CLUCENE_URL) ] ;
|
||||
|
||||
# zip file and output directory
|
||||
HAIKU_CLUCENE_ZIP_FILE = $(zipFile) ;
|
||||
HAIKU_CLUCENE_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_CLUCENE_PACKAGE:B) ] ;
|
||||
|
||||
# extract headers and libraries
|
||||
HAIKU_CLUCENE_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_CLUCENE_DIR)
|
||||
: common/include/ : $(zipFile) : extracted-clucene
|
||||
] ;
|
||||
|
||||
HAIKU_CLUCENE_LIBS = [ ExtractArchive $(HAIKU_CLUCENE_DIR)
|
||||
:
|
||||
common/lib/libclucene.a
|
||||
: $(zipFile)
|
||||
: extracted-clucene
|
||||
] ;
|
||||
|
||||
HAIKU_CLUCENE_HEADERS
|
||||
= [ FDirName $(HAIKU_CLUCENE_DIR) common include ] ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# TagLib
|
||||
|
||||
# Automatically install the TagLib feature, when the optional TagLib optional
|
||||
# package is enabled.
|
||||
if [ IsOptionalHaikuImagePackageAdded TagLib ] {
|
||||
HAIKU_BUILD_FEATURE_TAGLIB = 1 ;
|
||||
}
|
||||
|
||||
local baseURL = http://haiku-files.org/files/optional-packages ;
|
||||
HAIKU_TAGLIB_PACKAGE = taglib-1.6.3-r1a2-x86-gcc2-2010-04-25.zip ;
|
||||
HAIKU_TAGLIB_URL = $(baseURL)/$(HAIKU_TAGLIB_PACKAGE) ;
|
||||
|
||||
if $(HAIKU_BUILD_FEATURE_TAGLIB) {
|
||||
if $(TARGET_ARCH) != x86 {
|
||||
Echo "TagLib build feature not available for $(TARGET_ARCH)" ;
|
||||
} else {
|
||||
# Download the zip archive.
|
||||
local zipFile = [ DownloadFile $(HAIKU_TAGLIB_PACKAGE)
|
||||
: $(HAIKU_TAGLIB_URL) ] ;
|
||||
|
||||
# zip file and output directory
|
||||
HAIKU_TAGLIB_ZIP_FILE = $(zipFile) ;
|
||||
HAIKU_TAGLIB_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_TAGLIB_PACKAGE:B) ] ;
|
||||
|
||||
# extract headers and libraries
|
||||
HAIKU_TAGLIB_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_TAGLIB_DIR)
|
||||
: common/include/ : $(zipFile) : extracted-taglib
|
||||
] ;
|
||||
|
||||
HAIKU_TAGLIB_LIBS = [ ExtractArchive $(HAIKU_TAGLIB_DIR)
|
||||
:
|
||||
common/lib/libtag.so
|
||||
common/lib/libtag_c.so
|
||||
: $(zipFile)
|
||||
: extracted-taglib
|
||||
] ;
|
||||
|
||||
HAIKU_TAGLIB_HEADERS
|
||||
= [ FDirName $(HAIKU_TAGLIB_DIR) common include taglib ] ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# LibSolv
|
||||
|
||||
if $(TARGET_ARCH) != x86 {
|
||||
Echo "Libsolv not available for $(TARGET_ARCH)." ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) = 2 {
|
||||
HAIKU_LIBSOLV_PACKAGE
|
||||
= libsolv-0.3.0_haiku_2013_04_18-2-x86_gcc2.hpkg ;
|
||||
} else {
|
||||
Echo "Libsolv not available for gcc4." ;
|
||||
}
|
||||
|
||||
if $(HAIKU_LIBSOLV_PACKAGE) {
|
||||
# download package
|
||||
HAIKU_LIBSOLV_PACKAGE_FILE = [ DownloadFile $(HAIKU_LIBSOLV_PACKAGE)
|
||||
: $(hpkgBaseURL)/$(HAIKU_LIBSOLV_PACKAGE) ] ;
|
||||
HAIKU_LIBSOLV_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_LIBSOLV_PACKAGE:B) ] ;
|
||||
|
||||
# extract headers and libraries
|
||||
HAIKU_LIBSOLV_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_LIBSOLV_DIR)
|
||||
: develop/headers/ : $(HAIKU_LIBSOLV_PACKAGE_FILE) : extracted-libsolv
|
||||
] ;
|
||||
|
||||
HAIKU_LIBSOLV_LIBS = [ ExtractArchive $(HAIKU_LIBSOLV_DIR)
|
||||
:
|
||||
develop/lib/libsolv.so
|
||||
develop/lib/libsolvext.so
|
||||
: $(HAIKU_LIBSOLV_PACKAGE_FILE)
|
||||
: extracted-libsolv
|
||||
] ;
|
||||
|
||||
HAIKU_LIBSOLV_HEADERS = [ FDirName $(HAIKU_LIBSOLV_DIR) develop/headers ] ;
|
||||
}
|
||||
@@ -29,18 +29,18 @@ if [ IsOptionalHaikuImagePackageAdded AllegroLibs ] {
|
||||
Echo "No optional package AllegroLibs available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/allegro-4.4.1.1-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/allegro-4.4.1.1-r1a4-x86-gcc4-2012-09-09.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/dumb-0.9.3-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/dumb-0.9.3-r1a4-x86-gcc4-2012-09-09.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/jgmod-0.99-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/jgmod-0.99-r1a4-x86-gcc4-2012-09-09.zip ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/allegro-4.4.1.1-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/allegro-4.4.1.1-r1a4-x86-gcc2-2012-08-30.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/dumb-0.9.3-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/dumb-0.9.3-r1a4-x86-gcc2-2012-08-30.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/jgmod-0.99-x86-gcc2-2011-08-02.zip ;
|
||||
$(baseURL)/lib/jgmod-0.99-r1a4-x86-gcc2-2012-08-30.zip ;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,7 +52,7 @@ if [ IsOptionalHaikuImagePackageAdded box2d ] {
|
||||
} else {
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/box2d-2.1.2-r1a3-x86-gcc4-2011-05-26.zip
|
||||
$(baseURL)/lib/box2d-2.1.2-r1a4-x86-gcc4-2012-09-09.zip
|
||||
: : true ;
|
||||
} else {
|
||||
Echo "No optional package box2d available for $(TARGET_ARCH)-gcc2" ;
|
||||
@@ -67,11 +67,11 @@ if [ IsOptionalHaikuImagePackageAdded fribidi ] {
|
||||
Echo "No optional package fribidi available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/fribidi-0.19.2-r1a3-x86-gcc4-2011-05-26.zip
|
||||
$(baseURL)/lib/fribidi-0.19.2-r1a4-x86-gcc4-2012-09-01.zip
|
||||
: : true ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/fribidi-0.19.2-r1a3-x86-gcc2-2011-05-19.zip
|
||||
$(baseURL)/lib/fribidi-0.19.2-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: : true ;
|
||||
}
|
||||
}
|
||||
@@ -83,11 +83,11 @@ if [ IsOptionalHaikuImagePackageAdded lcms ] {
|
||||
Echo "No optional package lcms available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/lcms-2.1-r1a3-x86-gcc4-2011-05-26.zip
|
||||
$(baseURL)/lib/lcms-2.1-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: : true ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/lcms-2.1-r1a3-x86-gcc2-2011-05-19.zip
|
||||
$(baseURL)/lib/lcms-2.1-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: : true ;
|
||||
}
|
||||
}
|
||||
@@ -99,11 +99,11 @@ if [ IsOptionalHaikuImagePackageAdded libart_lgpl ] {
|
||||
Echo "No optional package libart_lgpl available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libart_lgpl-2.3.21-r1a3-x86-gcc4-2011-05-26.zip
|
||||
$(baseURL)/lib/libart_lgpl-2.3.21-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: : true ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libart_lgpl-2.3.21-r1a3-x86-gcc2-2011-05-19.zip
|
||||
$(baseURL)/lib/libart_lgpl-2.3.21-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: : true ;
|
||||
}
|
||||
}
|
||||
@@ -115,11 +115,11 @@ if [ IsOptionalHaikuImagePackageAdded libmad ] {
|
||||
Echo "No optional package libmad available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libmad-0.15.1b-r1a3-x86-gcc4-2011-05-26.zip
|
||||
$(baseURL)/lib/libmad-0.15.1b-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: : true ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libmad-0.15.1b-r1a3-x86-gcc2-2011-05-19.zip
|
||||
$(baseURL)/lib/libmad-0.15.1b-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: : true ;
|
||||
}
|
||||
}
|
||||
@@ -131,11 +131,11 @@ if [ IsOptionalHaikuImagePackageAdded libmikmod ] {
|
||||
Echo "No optional package libmikmod available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libmikmod-3.1.11-r1a3-x86-gcc4-2011-05-26.zip
|
||||
$(baseURL)/lib/libmikmod-3.1.11-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: : true ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libmikmod-3.1.11-r1a3-x86-gcc2-2011-05-19.zip
|
||||
$(baseURL)/lib/libmikmod-3.1.11-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: : true ;
|
||||
}
|
||||
}
|
||||
@@ -147,11 +147,11 @@ if [ IsOptionalHaikuImagePackageAdded libmodplug ] {
|
||||
Echo "No optional package libmodplug available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libmodplug-0.8.8.1-r1a3-x86-gcc4-2011-05-26.zip
|
||||
$(baseURL)/lib/libmodplug-0.8.8.4-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: : true ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libmodplug-0.8.8.1-r1a3-x86-gcc2-2011-05-19.zip
|
||||
$(baseURL)/lib/libmodplug-0.8.8.4-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: : true ;
|
||||
}
|
||||
}
|
||||
@@ -163,11 +163,11 @@ if [ IsOptionalHaikuImagePackageAdded libpaper ] {
|
||||
Echo "No optional package libpaper available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libpaper-1.1.24-r1a3-x86-gcc4-2011-05-26.zip
|
||||
$(baseURL)/lib/libpaper-1.1.24-r1a4-x86-gcc4-2012-09-01.zip
|
||||
: : true ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libpaper-1.1.24-r1a3-x86-gcc2-2011-05-19.zip
|
||||
$(baseURL)/lib/libpaper-1.1.24-r1a4-x86-gcc4-2012-09-01.zip
|
||||
: : true ;
|
||||
}
|
||||
}
|
||||
@@ -179,11 +179,11 @@ if [ IsOptionalHaikuImagePackageAdded physfs ] {
|
||||
Echo "No optional package physfs available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/physfs-2.0.1-r1a3-x86-gcc4-2011-05-26.zip
|
||||
$(baseURL)/lib/physfs-2.0.1-r1a4-x86-gcc4-2012-09-09.zip
|
||||
: : true ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/physfs-2.0.1-r1a3-x86-gcc2-2011-05-19.zip
|
||||
$(baseURL)/lib/physfs-2.0.1-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: : true ;
|
||||
}
|
||||
}
|
||||
@@ -195,54 +195,54 @@ if [ IsOptionalHaikuImagePackageAdded SDLLibs ] {
|
||||
Echo "No optional package SDLLibs available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libsdl-1.2-hg-r1a3-x86-gcc4-2011-05-29.zip ;
|
||||
$(baseURL)/lib/libsdl-1.2.15-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/guilib-1.2.1-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/guilib-1.2.1-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/sdl-gfx-2.0.22-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/sdl-gfx-2.0.23-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/sdl-image-1.2.10-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/sdl-image-1.2.12-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/sdl-mixer-1.2.11-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/sdl-mixer-1.2.11-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/sdl-net-1.2.7-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/sdl-net-1.2.8-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/sdl-sound-1.0.3-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/sdl-sound-1.0.3-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/sdl-rtf-0.1.0-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/sdl-rtf-0.1.0-r1a4-x86-gcc4-2012-09-03.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/sdl-ttf-2.0.10-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/sdl-ttf-2.0.11-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/sge-030809-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/sge-030809-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/smjpeg-0.2.1-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/smjpeg-0.2.1-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/smpeg-0.4.5-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/smpeg-0.4.5-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libsdl-1.2-hg-r1a3-x86-gcc2-2011-05-29.zip ;
|
||||
$(baseURL)/lib/libsdl-1.2.15-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/guilib-1.2.1-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/guilib-1.2.1-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/sdl-gfx-2.0.22-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/sdl-gfx-2.0.23-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/sdl-image-1.2.10-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/sdl-image-1.2.12-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/sdl-mixer-1.2.11-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/sdl-mixer-1.2.11-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/sdl-net-1.2.7-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/sdl-net-1.2.8-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/sdl-sound-1.0.3-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/sdl-sound-1.0-hg-r1a4-x86-gcc2-2012-08-30.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/sdl-rtf-0.1.0-r1a3-x86-gcc2-2011-05-20.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/sdl-ttf-2.0.10-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/sdl-ttf-2.0.11-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/sge-030809-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/sge-030809-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/smjpeg-0.2.1-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/smjpeg-0.2.1-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/smpeg-0.4.5-r1a3-x86-gcc2-2011-05-20.zip ;
|
||||
$(baseURL)/lib/smpeg-0.4.5-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -253,34 +253,34 @@ if [ IsOptionalHaikuImagePackageAdded XiphLibs ] {
|
||||
Echo "No optional package XiphLibs available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/flac-1.2.1-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/flac-1.2.1-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libao-1.0.0-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/libao-1.0.0-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libogg-1.2.2-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/libogg-1.3.0-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libtheora-1.1.1-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/libtheora-1.1.1-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libvorbis-1.3.2-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/libvorbis-1.3.2-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/speex-1.2-git-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/speex-1.2rc1-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/vorbis-tools-1.4.0-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/vorbis-tools-1.4.0-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/flac-1.2.1-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/flac-1.2.1-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libao-1.0.0-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/libao-1.0.0-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libogg-1.2.2-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/libogg-1.3.0-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libtheora-1.1.1-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/libtheora-1.1.1-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libvorbis-1.3.2-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/libvorbis-1.3.2-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/speex-1.2-git-r1a3-x86-gcc2-2011-05-26.zip ;
|
||||
$(baseURL)/lib/speex-1.2rc1-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/vorbis-tools-1.4.0-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/vorbis-tools-1.4.0-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
# package dependencies
|
||||
#
|
||||
# For transitive dependencies dependants should be listed before their
|
||||
# For transitive dependencies dependents should be listed before their
|
||||
# dependencies.
|
||||
|
||||
OptionalPackageDependencies APR-util : APR Expat ;
|
||||
@@ -10,15 +10,19 @@ OptionalPackageDependencies ArmyKnife : TagLib ;
|
||||
OptionalPackageDependencies Beam : LibIconv LibLayout OpenSSL PCRE ;
|
||||
OptionalPackageDependencies BeHappy : BeBook NetSurf ;
|
||||
OptionalPackageDependencies BurnItNow : CDRecord ;
|
||||
OptionalPackageDependencies CDRecord : LibIconv ;
|
||||
OptionalPackageDependencies Caya : Expat ;
|
||||
OptionalPackageDependencies CDRecord : GetText LibIconv ;
|
||||
OptionalPackageDependencies Curl : OpenSSL ;
|
||||
OptionalPackageDependencies DevelopmentBase : CDRecord DevelopmentMin Yasm ;
|
||||
OptionalPackageDependencies Development : DevelopmentBase Perl ;
|
||||
OptionalPackageDependencies DevelopmentPowerPC : DevelopmentMin ;
|
||||
OptionalPackageDependencies GetText : LibIconv ;
|
||||
OptionalPackageDependencies Git : Expat Curl OpenSSL LibIconv ;
|
||||
OptionalPackageDependencies GitDoc : Man Git ;
|
||||
OptionalPackageDependencies ICU-devel : DevelopmentBase ;
|
||||
OptionalPackageDependencies LibEdit : NCurses ;
|
||||
OptionalPackageDependencies LibLayout : DevelopmentBase ;
|
||||
OptionalPackageDependencies LibXML2 : XZ-Utils ;
|
||||
OptionalPackageDependencies Man : Groff ;
|
||||
OptionalPackageDependencies Tar : LibIconv ;
|
||||
OptionalPackageDependencies Python : Bzip ;
|
||||
@@ -28,15 +32,17 @@ OptionalPackageDependencies Neon : LibXML2 ;
|
||||
OptionalPackageDependencies NetFS : UserlandFS ;
|
||||
OptionalPackageDependencies NetSurf : OpenSSL Curl LibXML2 LibIconv Libmng ;
|
||||
OptionalPackageDependencies OpenSSH : OpenSSL ;
|
||||
OptionalPackageDependencies Paladin : CCache Fastdep ;
|
||||
OptionalPackageDependencies OpenSSL : CARootCertificates ;
|
||||
OptionalPackageDependencies Paladin : CCache Fastdep PCRE ;
|
||||
OptionalPackageDependencies Pe : PCRE ;
|
||||
OptionalPackageDependencies Readline : NCurses ;
|
||||
OptionalPackageDependencies SDLLibs : XiphLibs libmad libmikmod Libmng libmodplug physfs ;
|
||||
OptionalPackageDependencies Subversion : APR-util Neon LibIconv LibXML2 OpenSSL SQLite ;
|
||||
OptionalPackageDependencies Transmission : LibEvent Curl OpenSSL LibIconv ;
|
||||
OptionalPackageDependencies Vim : GetText LibIconv ;
|
||||
OptionalPackageDependencies WebPositive : Curl LibXML2 SQLite ;
|
||||
OptionalPackageDependencies WebPositive : Curl LibXML2 SQLite WebKit WebPositiveBookmarks ;
|
||||
OptionalPackageDependencies wpa_supplicant : OpenSSL ;
|
||||
OptionalPackageDependencies XZ-Utils : Tar ;
|
||||
|
||||
OptionalPackageDependencies MandatoryPackages : ICU LibSolv Sed Tar ;
|
||||
OptionalPackageDependencies MandatoryPackages
|
||||
: Bzip Ctags Grep ICU LibSolv Sed Tar ;
|
||||
|
||||
+705
-242
File diff suppressed because it is too large
Load Diff
@@ -16,20 +16,17 @@ switch $(HAIKU_BUILD_PROFILE) {
|
||||
HAIKU_ROOT_USER_REAL_NAME = "Yourself" ;
|
||||
AddGroupToHaikuImage party : 101 : user sshd ;
|
||||
HAIKU_IMAGE_HOST_NAME = shredder ;
|
||||
HAIKU_IMAGE_SIZE = 750 ;
|
||||
HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES = 1 ;
|
||||
HAIKU_IMAGE_SIZE = 800 ;
|
||||
|
||||
AddOptionalHaikuImagePackages TimGMSoundFont WQY-MicroHei ;
|
||||
AddOptionalHaikuImagePackages BePDF Pe Vision
|
||||
WebPositive WonderBrush ;
|
||||
AddOptionalHaikuImagePackages CVS Development Git Mercurial
|
||||
Python Subversion OpenSSH OpenSSL ;
|
||||
AddOptionalHaikuImagePackages Nano P7zip Welcome BeBook XZ-Utils ;
|
||||
|
||||
local releaseNotesURL = http://dev.haiku-os.org/wiki/R1/Alpha3/ReleaseNotes?format=txt ;
|
||||
local releaseNotesName = "Release Notes" ;
|
||||
local releaseNotesFile = [ DownloadFile $(releaseNotesName) : $(releaseNotesURL) ] ;
|
||||
AddFilesToHaikuImage home Desktop : $(releaseNotesFile) ;
|
||||
AddOptionalHaikuImagePackages KeymapSwitcher Nano P7zip Welcome
|
||||
BeBook XZ-Utils ;
|
||||
AddOptionalHaikuImagePackages wpa_supplicant ;
|
||||
}
|
||||
|
||||
case "beta-*" : {
|
||||
@@ -41,12 +38,13 @@ switch $(HAIKU_BUILD_PROFILE) {
|
||||
HAIKU_ROOT_USER_NAME = user ;
|
||||
HAIKU_ROOT_USER_REAL_NAME = "Yourself" ;
|
||||
AddGroupToHaikuImage party : 101 : user sshd ;
|
||||
HAIKU_IMAGE_HOST_NAME = shredder ;
|
||||
HAIKU_IMAGE_SIZE = 500 ;
|
||||
HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES = 1 ;
|
||||
HAIKU_IMAGE_HOST_NAME = shredder ;
|
||||
HAIKU_IMAGE_SIZE = 600 ;
|
||||
|
||||
AddOptionalHaikuImagePackages Pe Nano Vision P7zip XZ-Utils ;
|
||||
AddOptionalHaikuImagePackages Development Subversion OpenSSH OpenSSL ;
|
||||
AddOptionalHaikuImagePackages Development Git OpenSSH OpenSSL ;
|
||||
AddOptionalHaikuImagePackages wpa_supplicant WebPositive ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -63,6 +63,7 @@ HAIKU_IMAGE_DIR = /tmp ;
|
||||
HAIKU_IMAGE_SIZE = 100 ;
|
||||
|
||||
# Enable stripping the debug symbols from optional packages.
|
||||
# Note, some optional packages may override this to prevent stripping.
|
||||
HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES = 1 ;
|
||||
|
||||
# Set image volume label to "Walter". Default label is "Haiku".
|
||||
|
||||
@@ -13,6 +13,9 @@ HAIKU_BOARD_LOADER_BASE = 0x80008000 ;
|
||||
HAIKU_BOARD_LOADER_ENTRY_RAW = 0x80008000 ;
|
||||
HAIKU_BOARD_LOADER_ENTRY_NBSD = 0x80008008 ;
|
||||
|
||||
HAIKU_BOARD_LOADER_ENTRY = $(HAIKU_BOARD_LOADER_ENTRY_NBSD) ;
|
||||
HAIKU_BOARD_LOADER_FAKE_OS = netbsd ;
|
||||
|
||||
# load address for haiku_loader uimage
|
||||
# (must be different than real load address)
|
||||
HAIKU_BOARD_LOADER_UIBASE = 0x84000000 ;
|
||||
@@ -59,9 +62,9 @@ HAIKU_BOARD_SDIMAGE_FILES =
|
||||
# gcc flags for the specific cpu
|
||||
#
|
||||
|
||||
TARGET_KERNEL_CCFLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
TARGET_KERNEL_C++FLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
TARGET_CCFLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
TARGET_C++FLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
HAIKU_KERNEL_CCFLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
HAIKU_KERNEL_C++FLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
HAIKU_CCFLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
HAIKU_C++FLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
|
||||
|
||||
|
||||
@@ -12,6 +12,9 @@ HAIKU_BOARD_LOADER_BASE = 0x32000000 ;
|
||||
HAIKU_BOARD_LOADER_ENTRY_RAW = 0x32000000 ;
|
||||
HAIKU_BOARD_LOADER_ENTRY_NBSD = 0x32000008 ;
|
||||
|
||||
HAIKU_BOARD_LOADER_ENTRY = $(HAIKU_BOARD_LOADER_ENTRY_NBSD) ;
|
||||
HAIKU_BOARD_LOADER_FAKE_OS = netbsd ;
|
||||
|
||||
# load address for haiku_loader uimage
|
||||
# (must be different than real load address)
|
||||
HAIKU_BOARD_LOADER_UIBASE = 0x34000000 ;
|
||||
@@ -66,17 +69,17 @@ HAIKU_BOARD_SDIMAGE_FILES =
|
||||
# gcc flags for the specific cpu
|
||||
#
|
||||
|
||||
TARGET_KERNEL_CCFLAGS += -mcpu=arm920t ;
|
||||
TARGET_KERNEL_C++FLAGS += -mcpu=arm920t ;
|
||||
TARGET_CCFLAGS += -mcpu=arm920t ;
|
||||
TARGET_C++FLAGS += -mcpu=arm920t ;
|
||||
HAIKU_KERNEL_CCFLAGS += -mcpu=arm920t ;
|
||||
HAIKU_KERNEL_C++FLAGS += -mcpu=arm920t ;
|
||||
HAIKU_CCFLAGS += -mcpu=arm920t ;
|
||||
HAIKU_C++FLAGS += -mcpu=arm920t ;
|
||||
|
||||
# Workaround for ld using 32k for alignment despite forcing it in the config...
|
||||
# should definitely not be needed!
|
||||
TARGET_KERNEL_LINKFLAGS +=
|
||||
HAIKU_KERNEL_LINKFLAGS +=
|
||||
-Wl,-z -Wl,max-page-size=0x1000
|
||||
-Wl,-z -Wl,common-page-size=0x1000 ;
|
||||
TARGET_LINKFLAGS +=
|
||||
HAIKU_LINKFLAGS +=
|
||||
-Wl,-z -Wl,max-page-size=0x1000
|
||||
-Wl,-z -Wl,common-page-size=0x1000 ;
|
||||
|
||||
|
||||
@@ -13,6 +13,9 @@ HAIKU_BOARD_LOADER_BASE = 0x80008000 ;
|
||||
HAIKU_BOARD_LOADER_ENTRY_RAW = 0x80008000 ;
|
||||
HAIKU_BOARD_LOADER_ENTRY_NBSD = 0x80008008 ;
|
||||
|
||||
HAIKU_BOARD_LOADER_ENTRY = $(HAIKU_BOARD_LOADER_ENTRY_NBSD) ;
|
||||
HAIKU_BOARD_LOADER_FAKE_OS = netbsd ;
|
||||
|
||||
# load address for haiku_loader uimage
|
||||
# (must be different than real load address)
|
||||
HAIKU_BOARD_LOADER_UIBASE = 0x84000000 ;
|
||||
@@ -55,9 +58,9 @@ HAIKU_BOARD_SDIMAGE_FILES =
|
||||
# gcc flags for the specific cpu
|
||||
#
|
||||
|
||||
TARGET_KERNEL_CCFLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
TARGET_KERNEL_C++FLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
TARGET_CCFLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
TARGET_C++FLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
HAIKU_KERNEL_CCFLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
HAIKU_KERNEL_C++FLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
HAIKU_CCFLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
HAIKU_C++FLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
# Raspberry Pi board-specific definitions
|
||||
|
||||
HAIKU_BOARD_DESCRIPTION = "Raspberry Pi" ;
|
||||
HAIKU_BOOT_PLATFORM = raspberrypi_arm ;
|
||||
|
||||
#
|
||||
# Various hardcoded addresses
|
||||
#
|
||||
|
||||
HAIKU_BOARD_LOADER_BASE = 0x0 ;
|
||||
|
||||
HAIKU_BOARD_BOOT_ARCHIVE_BASE = 0x04000000 ;
|
||||
HAIKU_BOARD_BOOT_ARCHIVE_SIZE = 0x00400000 ;
|
||||
# TODO: needs to be configured in the config.txt
|
||||
# ramfsfile=haiku-floppyboot.tgz and ramfsaddr=x
|
||||
|
||||
#
|
||||
# Flash image
|
||||
#
|
||||
|
||||
# N/A for Raspberry Pi
|
||||
|
||||
#
|
||||
# mmc/SD image
|
||||
#
|
||||
|
||||
HAIKU_BOARD_FIRMWARE_URL = http://github.com/raspberrypi/firmware/raw/master/boot/ ;
|
||||
HAIKU_BOARD_FIRMWARE_FILES =
|
||||
bootcode.bin
|
||||
loader.bin
|
||||
arm224_start.elf # start.elf
|
||||
LICENSE.broadcom
|
||||
;
|
||||
|
||||
# in MB
|
||||
HAIKU_BOARD_SDIMAGE_FAT_SIZE = 32 ;
|
||||
HAIKU_BOARD_SDIMAGE_FAT_FILES =
|
||||
$(HAIKU_BOARD_FIRMWARE_FILES)
|
||||
haiku_loader
|
||||
;
|
||||
|
||||
# in MB
|
||||
HAIKU_BOARD_SDIMAGE_SIZE = 256 ;
|
||||
|
||||
#
|
||||
# gcc flags for the specific cpu
|
||||
#
|
||||
|
||||
HAIKU_KERNEL_CCFLAGS += -mtune=arm1176jzf-s ;
|
||||
HAIKU_KERNEL_C++FLAGS += -mtune=arm1176jzf-s ;
|
||||
HAIKU_CCFLAGS += -mtune=arm1176jzf-s ;
|
||||
HAIKU_C++FLAGS += -mtune=arm1176jzf-s ;
|
||||
|
||||
# Workaround for ld using 32k for alignment despite forcing it in the config...
|
||||
# should definitely not be needed!
|
||||
HAIKU_KERNEL_LINKFLAGS +=
|
||||
-Wl,-z -Wl,max-page-size=0x1000
|
||||
-Wl,-z -Wl,common-page-size=0x1000 ;
|
||||
HAIKU_LINKFLAGS +=
|
||||
-Wl,-z -Wl,max-page-size=0x1000
|
||||
-Wl,-z -Wl,common-page-size=0x1000 ;
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
##### CPU Speed
|
||||
#arm_freq 700
|
||||
|
||||
##### Memory layout
|
||||
#gpu_mem 64
|
||||
|
||||
# Memory based on model.. overrides gpu_mem
|
||||
#gpu_mem_256 64
|
||||
#gpu_mem_512 64
|
||||
|
||||
##### Low level
|
||||
kernel=haiku_loader
|
||||
kernel_address=0x0
|
||||
ramfsfile=haiku-floppyboot.tgz
|
||||
ramfsaddr=0x04000000
|
||||
|
||||
# Skip boot tags for non-linux platforms
|
||||
disable_commandline_tags=1
|
||||
#device_tree=bcm2835.dtb
|
||||
#device_tree_address=0x100
|
||||
|
||||
##### UART Settings
|
||||
# Default is 115200
|
||||
#init_uart_baud=9600
|
||||
#init_uart_clock=
|
||||
@@ -0,0 +1,39 @@
|
||||
# ACube SAM460ex board-specific definitions
|
||||
|
||||
HAIKU_BOARD_DESCRIPTION = "ACube Sam460ex" ;
|
||||
|
||||
# must force both since they are set before this file is read.
|
||||
HAIKU_BOOT_PLATFORM = u-boot ;
|
||||
|
||||
#FIXME!!!!!!!!!!!!!!!
|
||||
#
|
||||
# Various hardcoded addresses
|
||||
#
|
||||
|
||||
# load address for haiku_loader
|
||||
# HAIKU_BOARD_LOADER_BASE = 0x00000000 ;
|
||||
# for debugging:
|
||||
HAIKU_BOARD_LOADER_BASE = 0x02000000 ;
|
||||
# entry points (raw binary, and netbsd loader emulation)
|
||||
HAIKU_BOARD_LOADER_ENTRY_LINUX = 0x02000000 ;
|
||||
|
||||
HAIKU_BOARD_LOADER_ENTRY = $(HAIKU_BOARD_LOADER_ENTRY_LINUX) ;
|
||||
HAIKU_BOARD_LOADER_FAKE_OS = linux ;
|
||||
|
||||
# load address for haiku_loader uimage
|
||||
# (must be different than real load address)
|
||||
HAIKU_BOARD_LOADER_UIBASE = 0x02000000 ;
|
||||
|
||||
HAIKU_BOARD_LOADER_STACK_BASE = 0x02000000 ;
|
||||
|
||||
#
|
||||
# gcc flags for the specific cpu
|
||||
#
|
||||
|
||||
HAIKU_KERNEL_PIC_CCFLAGS += -mcpu=440fp -mtune=440fp ;
|
||||
HAIKU_KERNEL_PIC_C++FLAGS += -mcpu=440fp -mtune=440fp ;
|
||||
HAIKU_KERNEL_CCFLAGS += -mcpu=440fp -mtune=440fp ;
|
||||
HAIKU_KERNEL_C++FLAGS += -mcpu=440fp -mtune=440fp ;
|
||||
HAIKU_CCFLAGS += -mcpu=440fp -mtune=440fp ;
|
||||
HAIKU_C++FLAGS += -mcpu=440fp -mtune=440fp ;
|
||||
|
||||
@@ -12,6 +12,9 @@ HAIKU_BOARD_LOADER_BASE = 0xa2000000 ;
|
||||
HAIKU_BOARD_LOADER_ENTRY_RAW = 0xa2000000 ;
|
||||
HAIKU_BOARD_LOADER_ENTRY_NBSD = 0xa2000008 ;
|
||||
|
||||
HAIKU_BOARD_LOADER_ENTRY = $(HAIKU_BOARD_LOADER_ENTRY_NBSD) ;
|
||||
HAIKU_BOARD_LOADER_FAKE_OS = netbsd ;
|
||||
|
||||
# load address for haiku_loader uimage
|
||||
# (must be different than real load address)
|
||||
HAIKU_BOARD_LOADER_UIBASE = 0xa4000000 ;
|
||||
@@ -65,17 +68,17 @@ HAIKU_BOARD_SDIMAGE_FILES =
|
||||
# gcc flags for the specific cpu
|
||||
#
|
||||
|
||||
TARGET_KERNEL_CCFLAGS += -mcpu=xscale ;
|
||||
TARGET_KERNEL_C++FLAGS += -mcpu=xscale ;
|
||||
TARGET_CCFLAGS += -mcpu=xscale ;
|
||||
TARGET_C++FLAGS += -mcpu=xscale ;
|
||||
HAIKU_KERNEL_CCFLAGS += -mcpu=xscale ;
|
||||
HAIKU_KERNEL_C++FLAGS += -mcpu=xscale ;
|
||||
HAIKU_CCFLAGS += -mcpu=xscale ;
|
||||
HAIKU_C++FLAGS += -mcpu=xscale ;
|
||||
|
||||
# Workaround for ld using 32k for alignment despite forcing it in the config...
|
||||
# should definitely not be needed!
|
||||
TARGET_KERNEL_LINKFLAGS +=
|
||||
HAIKU_KERNEL_LINKFLAGS +=
|
||||
-Wl,-z -Wl,max-page-size=0x1000
|
||||
-Wl,-z -Wl,common-page-size=0x1000 ;
|
||||
TARGET_LINKFLAGS +=
|
||||
HAIKU_LINKFLAGS +=
|
||||
-Wl,-z -Wl,max-page-size=0x1000
|
||||
-Wl,-z -Wl,common-page-size=0x1000 ;
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
# Parameters <haiku sourcedir> <buildtools dir> <haiku output dir>
|
||||
# Influential environmental variable:
|
||||
# * haikuRequiredLegacyGCCVersion: The requrired version of the gcc. Will be
|
||||
# * haikuRequiredLegacyGCCVersion: The required version of the gcc. Will be
|
||||
# checked against the version in the buildtools directory.
|
||||
|
||||
# get and check the parameters
|
||||
@@ -89,6 +89,15 @@ mkdir -p $installDir $objDir $binutilsObjDir $gccObjDir $tmpIncludeDir \
|
||||
$tmpLibDir || exit 1
|
||||
mkdir -p $installDir/lib/gcc-lib/i586-pc-haiku/$haikuRequiredLegacyGCCVersion
|
||||
|
||||
# force the POSIX locale, as the build (makeinfo) might choke otherwise
|
||||
export LC_ALL=POSIX
|
||||
|
||||
# drop an multiple job arguments from MAKEFLAGS
|
||||
if [ ! -z "$MAKEFLAGS" ]; then
|
||||
export MAKEFLAGS=$(echo $MAKEFLAGS | sed -e 's/-j\s*[0-9][0-9]*//g')
|
||||
fi
|
||||
|
||||
|
||||
# build binutils
|
||||
cd $binutilsObjDir
|
||||
CFLAGS="-O2" CXXFLAGS="-O2" $buildToolsDir/binutils/configure \
|
||||
@@ -109,7 +118,7 @@ copy_headers()
|
||||
sourceDir=$1
|
||||
targetDir=$2
|
||||
|
||||
headers="`find $sourceDir -name \*\.h | grep -v /.svn`"
|
||||
headers="`find $sourceDir -name \*\.h`"
|
||||
headers="`echo $headers | sed -e s@$sourceDir/@@g`"
|
||||
for f in $headers; do
|
||||
headerTargetDir=$targetDir/`dirname $f`
|
||||
@@ -122,13 +131,26 @@ copy_headers $haikuSourceDir/headers/config $tmpIncludeDir/config
|
||||
copy_headers $haikuSourceDir/headers/os $tmpIncludeDir/os
|
||||
copy_headers $haikuSourceDir/headers/posix $tmpIncludeDir/posix
|
||||
|
||||
# Touch some files generated by bison, so that bison won't run to update them.
|
||||
# Fixes issues with newer bison versions.
|
||||
# And while at it, touch gperf target, too (as gperf may not be installed)
|
||||
(cd $buildToolsDir/gcc/gcc; touch c-parse.c c-parse.h cexp.c cp/parse.c \
|
||||
cp/parse.h c-gperf.h)
|
||||
|
||||
# configure gcc
|
||||
cd $gccObjDir
|
||||
case `uname` in
|
||||
Darwin)
|
||||
# GCC 2 compiled for x86_64 OS X is broken, compile for i386.
|
||||
export CC="gcc -arch i386"
|
||||
;;
|
||||
esac
|
||||
CFLAGS="-O2 -U_FORTIFY_SOURCE" CXXFLAGS="-O2" $buildToolsDir/gcc/configure \
|
||||
--prefix=$installDir \
|
||||
--target=i586-pc-haiku --disable-nls --enable-shared=yes \
|
||||
--enable-languages=c,c++ --with-headers=$tmpIncludeDir \
|
||||
--with-libs=$tmpLibDir || exit 1
|
||||
unset CC
|
||||
|
||||
# hack the Makefile to avoid trouble with stuff we don't need anyway
|
||||
sedExpr=
|
||||
@@ -155,7 +177,7 @@ make install-gcc-cross || {
|
||||
# Remove the math.h gcc header. It has been generated by fixincludes
|
||||
# (unconditional hack: math_huge_val_ifndef) from ours and it is semantically
|
||||
# equivalent.
|
||||
rm $installDir/lib/gcc-lib/i586-pc-haiku/$haikuRequiredLegacyGCCVersion/include/math.h
|
||||
rm -f $installDir/lib/gcc-lib/i586-pc-haiku/$haikuRequiredLegacyGCCVersion/include/math.h
|
||||
|
||||
|
||||
# cleanup
|
||||
|
||||
@@ -28,8 +28,12 @@ export MAKE
|
||||
|
||||
case $haikuMachine in
|
||||
x86_64-*)
|
||||
binutilsConfigureArgs="--enable-multilib"
|
||||
gccConfigureArgs="--enable-multilib"
|
||||
# GCC's default is to enable multilib, but there is a bug when
|
||||
# explicitly using --enable-multilib that causes a build
|
||||
# failure
|
||||
binutilsConfigureArgs=""
|
||||
gccConfigureArgs=""
|
||||
kernelCcFlags="-mno-red-zone"
|
||||
;;
|
||||
m68k-*)
|
||||
binutilsConfigureArgs="--enable-multilib"
|
||||
@@ -42,6 +46,7 @@ arm-*)
|
||||
*)
|
||||
binutilsConfigureArgs="--disable-multilib"
|
||||
gccConfigureArgs="--disable-multilib"
|
||||
kernelCcFlags=
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -90,23 +95,41 @@ fi
|
||||
# (which apparently doesn't work reliably on all the different host
|
||||
# configurations and changes files which in turn appear as local changes
|
||||
# to the VCS).
|
||||
find $binutilsSourceDir -name \*.info -print0 | xargs -0 touch
|
||||
find $gccSourceDir -name \*.info -print0 | xargs -0 touch
|
||||
find $binutilsSourceDir $gccSourceDir -name \*.info -print0 | xargs -0 touch
|
||||
|
||||
# create the object and installation directories for the cross compilation tools
|
||||
installDir=$haikuOutputDir/cross-tools
|
||||
objDir=$haikuOutputDir/cross-tools-build
|
||||
binutilsObjDir=$objDir/binutils
|
||||
gccObjDir=$objDir/gcc
|
||||
stdcxxObjDir=$objDir/stdcxx
|
||||
tmpIncludeDir=$objDir/sysincludes
|
||||
tmpLibDir=$objDir/syslibs
|
||||
|
||||
rm -rf $installDir $objDir
|
||||
|
||||
mkdir -p $installDir $objDir $binutilsObjDir $gccObjDir $tmpIncludeDir \
|
||||
$tmpLibDir || exit 1
|
||||
mkdir -p $installDir $objDir $binutilsObjDir $gccObjDir $stdcxxObjDir \
|
||||
$tmpIncludeDir $tmpLibDir || exit 1
|
||||
mkdir -p $installDir/lib/gcc/$haikuMachine/$gccVersion
|
||||
|
||||
if [ "$HAIKU_USE_GCC_GRAPHITE" = 1 ]; then
|
||||
cloogSourceDir=$buildToolsDir/cloog
|
||||
gmpSourceDir=$buildToolsDir/gcc/gmp
|
||||
pplSourceDir=$buildToolsDir/ppl
|
||||
|
||||
pplObjDir=$objDir/ppl
|
||||
gmpObjDir=$objDir/gmp
|
||||
cloogObjDir=$objDir/cloog
|
||||
mkdir -p $pplObjDir $gmpObjDir $cloogObjDir || exit 1
|
||||
|
||||
gccConfigureArgs="$gccConfigureArgs --with-cloog=$installDir \
|
||||
--enable-cloog-backend=isl --with-ppl=$installDir \
|
||||
--disable-cloog-version-check --with-gmp=$installDir \
|
||||
--with-host-libstdcxx=\"-lstdc++\""
|
||||
fi
|
||||
|
||||
# force the POSIX locale, as the build (makeinfo) might choke otherwise
|
||||
export LC_ALL=POSIX
|
||||
|
||||
# build binutils
|
||||
cd $binutilsObjDir
|
||||
@@ -118,6 +141,32 @@ $MAKE $additionalMakeArgs install || exit 1
|
||||
|
||||
export PATH=$PATH:$installDir/bin
|
||||
|
||||
if [ "$HAIKU_USE_GCC_GRAPHITE" = 1 ]; then
|
||||
# build gmp
|
||||
cd $gmpObjDir
|
||||
$gmpSourceDir/configure --prefix=$installDir \
|
||||
--disable-shared --enable-cxx || exit 1
|
||||
$MAKE $additionalMakeArgs || exit 1
|
||||
$MAKE $additionalMakeArgs install || exit 1
|
||||
|
||||
# build ppl
|
||||
cd $pplObjDir
|
||||
CFLAGS="-O2" CXXFLAGS="-O2" $pplSourceDir/configure --prefix=$installDir \
|
||||
--disable-nls --disable-shared --disable-watchdog \
|
||||
--disable-maintainer-mode || exit 1
|
||||
$MAKE $additionalMakeArgs AUTOCONF:=true AUTOHEADER:=true ACLOCAL:=true \
|
||||
AUTOMAKE:=true || exit 1
|
||||
$MAKE $additionalMakeArgs install AUTOCONF:=true AUTOHEADER:=true \
|
||||
ACLOCAL:=true AUTOMAKE:=true || exit 1
|
||||
|
||||
# build cloog
|
||||
cd $cloogObjDir
|
||||
CFLAGS="-O2" CXXFLAGS="-O2" $cloogSourceDir/configure \
|
||||
--prefix=$installDir --disable-nls --disable-shared \
|
||||
--with-gmp-prefix=$installDir || exit 1
|
||||
$MAKE $additionalMakeArgs || exit 1
|
||||
$MAKE $additionalMakeArgs install || exit 1
|
||||
fi
|
||||
|
||||
# build gcc
|
||||
|
||||
@@ -127,7 +176,7 @@ copy_headers()
|
||||
sourceDir=$1
|
||||
targetDir=$2
|
||||
|
||||
headers="$(find $sourceDir -name \*\.h | grep -v /.svn)"
|
||||
headers="$(find $sourceDir -name \*\.h)"
|
||||
headers="$(echo $headers | sed -e s@$sourceDir/@@g)"
|
||||
for f in $headers; do
|
||||
headerTargetDir=$targetDir/$(dirname $f)
|
||||
@@ -143,8 +192,8 @@ copy_headers $haikuSourceDir/headers/posix $tmpIncludeDir/posix
|
||||
# configure gcc
|
||||
cd $gccObjDir
|
||||
CFLAGS="-O2" CXXFLAGS="-O2" $gccSourceDir/configure --prefix=$installDir \
|
||||
--target=$haikuMachine --disable-nls --disable-shared \
|
||||
--enable-languages=c,c++ \
|
||||
--target=$haikuMachine --disable-nls --disable-shared --with-system-zlib \
|
||||
--enable-languages=c,c++ --enable-lto --enable-frame-pointer \
|
||||
--with-headers=$tmpIncludeDir --with-libs=$tmpLibDir \
|
||||
$gccConfigureArgs || exit 1
|
||||
|
||||
@@ -160,6 +209,28 @@ $MAKE $additionalMakeArgs install || {
|
||||
exit 1
|
||||
}
|
||||
|
||||
# build libraries for the kernel if the target arch requires it
|
||||
if [ -n "$kernelCcFlags" ]; then
|
||||
$MAKE -C $haikuMachine/libgcc clean
|
||||
$MAKE -C $haikuMachine/libgcc CFLAGS="-g -O2 $kernelCcFlags" || {
|
||||
echo "Error: Building kernel libgcc failed." >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
cp $haikuMachine/libgcc/libgcc.a \
|
||||
$installDir/$haikuMachine/lib/libgcc-kernel.a || exit 1
|
||||
|
||||
$MAKE -C $haikuMachine/libstdc++-v3/libsupc++ clean
|
||||
$MAKE -C $haikuMachine/libstdc++-v3/libsupc++ CFLAGS="-g -O2 $kernelCcFlags" \
|
||||
CXXFLAGS="-g -O2 $kernelCcFlags" || {
|
||||
echo "Error: Building kernel libsupc++ failed." >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
cp $haikuMachine/libstdc++-v3/libsupc++/.libs/libsupc++.a \
|
||||
$installDir/$haikuMachine/lib/libsupc++-kernel.a || exit 1
|
||||
fi
|
||||
|
||||
# cleanup
|
||||
|
||||
# remove the system headers from the installation dir
|
||||
|
||||
@@ -17,7 +17,6 @@ set -o errexit
|
||||
# dontClearImage
|
||||
# isVMwareImage
|
||||
# optionalPackageDescriptions
|
||||
# stripOptionalPackageDebugSymbols
|
||||
#
|
||||
# addattr
|
||||
# copyattr
|
||||
@@ -34,6 +33,7 @@ set -o errexit
|
||||
# The following is only for cd types:
|
||||
# generate_attribute_stores
|
||||
# isCD
|
||||
# stripCommand
|
||||
#
|
||||
if [ $# -gt 0 ]; then
|
||||
. $1
|
||||
@@ -154,16 +154,17 @@ stripDebugInfo()
|
||||
if [ "$elfMarker" = 'ELF' ]; then
|
||||
# make user-writable first -- some files aren't
|
||||
chmod u+w "$file"
|
||||
strip --strip-debug "$file"
|
||||
"$stripCommand" --strip-debug "$file"
|
||||
fi
|
||||
}
|
||||
|
||||
extractFile()
|
||||
{
|
||||
# extractFile <archive> <directory> <extractedSubDir>
|
||||
# extractFile <archive> <directory> <extractedSubDir> <stripDebugSymbols>
|
||||
archiveFile=$1
|
||||
targetExtractedDir=$2
|
||||
extractedSubDir=$3
|
||||
stripDebugSymbols=$4
|
||||
|
||||
extractDir=$tmpDir/extract
|
||||
$rmAttrs -rf "$extractDir"
|
||||
@@ -200,7 +201,7 @@ extractFile()
|
||||
rm $extractDir/.OptionalPackageDescription
|
||||
fi
|
||||
|
||||
if [ "$stripOptionalPackageDebugSymbols" = "1" ]; then
|
||||
if [ "$stripDebugSymbols" = "1" ]; then
|
||||
# strip executables in common/bin
|
||||
if [ -d $extractDir/common/bin ]; then
|
||||
for file in `find $extractDir/common/bin -type f -a -perm +100 \
|
||||
|
||||
@@ -8,7 +8,7 @@ determineGitRevision()
|
||||
revision=`cat ${haikuBuildOutputDir}/haiku-revision 2>/dev/null`
|
||||
lastBuiltRevision=`cat ${haikuBuildOutputDir}/last-built-revision \
|
||||
2>/dev/null`
|
||||
localRev=`git rev-list -n1 HEAD`
|
||||
localRev=`git rev-parse HEAD`
|
||||
|
||||
# only determine the haiku-revision if anything has changed from
|
||||
# last build
|
||||
@@ -16,7 +16,10 @@ determineGitRevision()
|
||||
# the revision we use is the description of HEAD with respect to the
|
||||
# last reachable hrev-(haiku-revision-)tag
|
||||
revision=`git describe --dirty --tags --match=hrev*`
|
||||
if echo "$revision" | grep -- '-' >/dev/null; then
|
||||
if [ -z "$revision" ]; then
|
||||
# failed to find any hrev tags, use short hash instead
|
||||
revision=`git rev-parse --short HEAD`
|
||||
elif echo "$revision" | grep -- '-' >/dev/null; then
|
||||
# HEAD is not directly a changeset from Haiku's central repo, so we
|
||||
# add the current branch name as additional info
|
||||
branchName=`git branch | grep '*' | cut -b 3-`
|
||||
@@ -59,7 +62,7 @@ determineHaikuRevision()
|
||||
grep --max-count=1 "(svn r" |
|
||||
$SED -n -e 's,(svn r\(.*\)).*,\1,p'`
|
||||
fi
|
||||
if [ "$revision" = "" ]; then
|
||||
if [ -z "$revision" ]; then
|
||||
revision=0
|
||||
fi
|
||||
echo $revision >${haikuBuildOutputDir}/haiku-revision
|
||||
|
||||
@@ -63,6 +63,8 @@ options:
|
||||
as first option!]
|
||||
--use-gcc-pipe Build with GCC option -pipe. Speeds up the build
|
||||
process, but uses more memory.
|
||||
--use-gcc-graphite Build with GCC Graphite engine for loop
|
||||
optimizations. Only for gcc 4.
|
||||
--use-32bit Use -m32 flag on 64bit host gcc compiler.
|
||||
--use-xattr Use Linux xattr support for BeOS attribute
|
||||
emulation. Warning: Make sure your file system
|
||||
@@ -76,6 +78,7 @@ environment variables:
|
||||
HAIKU_OBJCOPY The objcopy to be used. Defaults to "objcopy".
|
||||
HAIKU_RANLIB The static library indexer. Defaults to "ranlib".
|
||||
HAIKU_YASM The yasm assembler (x86 only).
|
||||
HAIKU_STRIP The strip command. Defaults to "strip".
|
||||
HAIKU_CPPFLAGS The preprocessor flags. Defaults to "".
|
||||
HAIKU_CCFLAGS The C flags. Defaults to "".
|
||||
HAIKU_CXXFLAGS The C++ flags. Defaults to "".
|
||||
@@ -155,6 +158,13 @@ standard_gcc_settings()
|
||||
|
||||
HAIKU_GCC_RAW_VERSION=`$HAIKU_CC -dumpversion`
|
||||
HAIKU_GCC_MACHINE=`$HAIKU_CC -dumpmachine`
|
||||
if [ "$HAIKU_USE_GCC_GRAPHITE" != 0 ]; then
|
||||
UNUSED=`echo "int main() {}" | $HAIKU_CC -xc -c -floop-block - 2>&1`
|
||||
if [ $? != 0 ]; then
|
||||
echo "GCC Graphite loop optimizations cannot be used"
|
||||
HAIKU_USE_GCC_GRAPHITE=0
|
||||
fi
|
||||
fi
|
||||
|
||||
HAIKU_GCC_LIB_DIR=${gccdir}
|
||||
HAIKU_GCC_LIBGCC=${gccdir}/libgcc.a
|
||||
@@ -174,6 +184,17 @@ standard_gcc_settings()
|
||||
HAIKU_STATIC_LIBSUPCXX=`$HAIKU_CC -print-file-name=libsupc++.a`
|
||||
HAIKU_SHARED_LIBSUPCXX=`$HAIKU_CC -print-file-name=libsupc++.so`
|
||||
|
||||
# If the architecture has separate runtime libraries for the
|
||||
# kernel, use them.
|
||||
HAIKU_KERNEL_LIBGCC=`$HAIKU_CC -print-file-name=libgcc-kernel.a`
|
||||
if [ $HAIKU_KERNEL_LIBGCC = libgcc-kernel.a ]; then
|
||||
HAIKU_KERNEL_LIBGCC=$HAIKU_GCC_LIBGCC
|
||||
fi
|
||||
HAIKU_KERNEL_LIBSUPCXX=`$HAIKU_CC -print-file-name=libsupc++-kernel.a`
|
||||
if [ $HAIKU_KERNEL_LIBSUPCXX = libsupc++-kernel.a ]; then
|
||||
HAIKU_KERNEL_LIBSUPCXX=$HAIKU_STATIC_LIBSUPCXX
|
||||
fi
|
||||
|
||||
local headers
|
||||
if [ -d $gccdir/../../../../$HAIKU_GCC_MACHINE/include/c++/$HAIKU_GCC_RAW_VERSION ]; then
|
||||
headers=$gccdir/../../../../$HAIKU_GCC_MACHINE/include/c++/$HAIKU_GCC_RAW_VERSION
|
||||
@@ -226,6 +247,21 @@ standard_gcc_settings()
|
||||
echo "Please download it from www.haiku-os.org...";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
HAIKU_KERNEL_LIBGCC=$HAIKU_GCC_LIBGCC
|
||||
HAIKU_KERNEL_LIBSUPCXX=
|
||||
;;
|
||||
esac
|
||||
|
||||
case $HAIKU_GCC_MACHINE in
|
||||
x86_64-*)
|
||||
# Boot loader is 32-bit, need the 32-bit libs.
|
||||
HAIKU_BOOT_LIBGCC=`$HAIKU_CC -m32 -print-libgcc-file-name`
|
||||
HAIKU_BOOT_LIBSUPCXX=`$HAIKU_CC -m32 -print-file-name=libsupc++.a`
|
||||
;;
|
||||
*)
|
||||
HAIKU_BOOT_LIBGCC=$HAIKU_GCC_LIBGCC
|
||||
HAIKU_BOOT_LIBSUPCXX=$HAIKU_STATIC_LIBSUPCXX
|
||||
;;
|
||||
esac
|
||||
}
|
||||
@@ -304,6 +340,7 @@ HAIKU_ENABLE_MULTIUSER=0
|
||||
HAIKU_DISTRO_COMPATIBILITY=default
|
||||
TARGET_PLATFORM=haiku
|
||||
HAIKU_USE_GCC_PIPE=0
|
||||
HAIKU_USE_GCC_GRAPHITE=0
|
||||
HAIKU_HOST_USE_32BIT=0
|
||||
HAIKU_HOST_USE_XATTR=0
|
||||
HOST_GCC_LD=`gcc -print-prog-name=ld`
|
||||
@@ -311,7 +348,7 @@ HOST_GCC_OBJCOPY=`gcc -print-prog-name=objcopy`
|
||||
SFDISK_BINARY=sfdisk
|
||||
HOST_SFDISK=$SFDISK_BINARY
|
||||
|
||||
haikuRequiredLegacyGCCVersion="2.95.3-haiku-130425"
|
||||
haikuRequiredLegacyGCCVersion="2.95.3-haiku-130504"
|
||||
export haikuRequiredLegacyGCCVersion
|
||||
# version of legacy gcc required to build haiku
|
||||
|
||||
@@ -320,7 +357,9 @@ set_default_value HAIKU_CC gcc
|
||||
set_default_value HAIKU_LD ld
|
||||
set_default_value HAIKU_OBJCOPY objcopy
|
||||
set_default_value HAIKU_RANLIB ranlib
|
||||
set_default_value HAIKU_ELFEDIT elfedit
|
||||
set_default_value HAIKU_YASM yasm
|
||||
set_default_value HAIKU_STRIP strip
|
||||
set_default_value HAIKU_CPPFLAGS ""
|
||||
set_default_value HAIKU_CCFLAGS ""
|
||||
set_default_value HAIKU_CXXFLAGS ""
|
||||
@@ -368,9 +407,9 @@ while [ $# -gt 0 ] ; do
|
||||
buildCrossToolsScript="${buildCrossToolsScript}_gcc4"
|
||||
case "$2" in
|
||||
x86) HAIKU_GCC_MACHINE=i586-pc-haiku;;
|
||||
x86_64) HAIKU_GCC_MACHINE=x86_64-pc-haiku; targetArch=x86_64;;
|
||||
x86_64) HAIKU_GCC_MACHINE=x86_64-unknown-haiku; targetArch=x86_64;;
|
||||
ppc) HAIKU_GCC_MACHINE=powerpc-apple-haiku; targetArch=ppc;;
|
||||
m68k) HAIKU_GCC_MACHINE=m68k-unknown-haiku; targetArch=m86k;;
|
||||
m68k) HAIKU_GCC_MACHINE=m68k-unknown-haiku; targetArch=m68k;;
|
||||
arm) HAIKU_GCC_MACHINE=arm-unknown-haiku; targetArch=arm;;
|
||||
mipsel) HAIKU_GCC_MACHINE=mipsel-unknown-haiku; targetArch=mips;;
|
||||
*) echo "Unsupported target architecture: $2"
|
||||
@@ -406,6 +445,7 @@ while [ $# -gt 0 ] ; do
|
||||
-j*) buildCrossToolsJobs="$1"; shift 1;;
|
||||
--target=*) TARGET_PLATFORM=`echo $1 | cut -d'=' -f2-`; shift 1;;
|
||||
--use-gcc-pipe) HAIKU_USE_GCC_PIPE=1; shift 1;;
|
||||
--use-gcc-graphite) HAIKU_USE_GCC_GRAPHITE=1; shift 1;;
|
||||
--use-32bit) HAIKU_HOST_USE_32BIT=1; shift 1;;
|
||||
--use-xattr) HAIKU_HOST_USE_XATTR=1; shift 1;;
|
||||
*) echo Invalid argument: \`$1\'; exit 1;;
|
||||
@@ -447,15 +487,18 @@ for sfdiskDir in /sbin /usr/sbin /usr/local/sbin ; do
|
||||
fi
|
||||
done
|
||||
|
||||
# check for case-sensitive filesystem if on darwin
|
||||
if [ $HOST_PLATFORM = "darwin" ]; then
|
||||
diskutil info $(pwd) | grep -i "case-sensitive" > /dev/null
|
||||
if [ $? != 0 ]; then
|
||||
# check for case-sensitive filesystem
|
||||
mkdir haikuCaseTest 2>/dev/null
|
||||
mkdir haikucasetest 2>/dev/null
|
||||
caseInsensitive=$?
|
||||
rmdir haikuCaseTest haikucasetest 2>/dev/null
|
||||
if [ $caseInsensitive != 0 ]; then
|
||||
echo "You need a case-sensitive file-system to build Haiku."
|
||||
echo "Please see the following guide on how to set one up:"
|
||||
echo "http://haiku-os.org/documents/dev/how_to_build_haiku_on_mac_os_x"
|
||||
exit 1
|
||||
if [ $HOST_PLATFORM = "darwin" ]; then
|
||||
echo "You can create a case-sensitive disk image using Disk Utility and use"
|
||||
echo "it to store the Haiku sources on."
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# create output directory
|
||||
@@ -463,6 +506,7 @@ mkdir -p "$buildOutputDir" || exit 1
|
||||
|
||||
# build cross tools from sources
|
||||
if [ -n "$buildCrossTools" ]; then
|
||||
export HAIKU_USE_GCC_GRAPHITE
|
||||
"$buildCrossToolsScript" $buildCrossToolsMachine "$sourceDir" \
|
||||
"$buildCrossTools" "$outputDir" $buildCrossToolsJobs || exit 1
|
||||
crossToolsPrefix="$outputDir/cross-tools/bin/${HAIKU_GCC_MACHINE}-"
|
||||
@@ -475,11 +519,21 @@ if [ -n "$crossToolsPrefix" ]; then
|
||||
get_build_tool_path LD ld
|
||||
get_build_tool_path OBJCOPY objcopy
|
||||
get_build_tool_path RANLIB ranlib
|
||||
get_build_tool_path STRIP strip
|
||||
fi
|
||||
|
||||
# prepare gcc settings
|
||||
standard_gcc_settings
|
||||
|
||||
# cross tools for gcc4 builds
|
||||
if [ -n "$crossToolsPrefix" ]; then
|
||||
case $HAIKU_GCC_RAW_VERSION in
|
||||
4.*)
|
||||
get_build_tool_path ELFEDIT elfedit
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# check whether the Haiku compiler really targets Haiku or BeOS
|
||||
case "$HAIKU_GCC_MACHINE" in
|
||||
*-*-haiku) ;;
|
||||
@@ -508,6 +562,7 @@ HAIKU_INCLUDE_3RDPARTY ?= "${HAIKU_INCLUDE_3RDPARTY}" ;
|
||||
HAIKU_ENABLE_MULTIUSER ?= "${HAIKU_ENABLE_MULTIUSER}" ;
|
||||
HAIKU_DISTRO_COMPATIBILITY ?= "${HAIKU_DISTRO_COMPATIBILITY}" ;
|
||||
HAIKU_USE_GCC_PIPE ?= "${HAIKU_USE_GCC_PIPE}" ;
|
||||
HAIKU_USE_GCC_GRAPHITE ?= "${HAIKU_USE_GCC_GRAPHITE}" ;
|
||||
HAIKU_HOST_USE_32BIT ?= "${HAIKU_HOST_USE_32BIT}" ;
|
||||
HAIKU_HOST_USE_XATTR ?= "${HAIKU_HOST_USE_XATTR}" ;
|
||||
|
||||
@@ -523,6 +578,11 @@ HAIKU_STATIC_LIBSUPC++ ?= ${HAIKU_STATIC_LIBSUPCXX} ;
|
||||
HAIKU_SHARED_LIBSUPC++ ?= ${HAIKU_SHARED_LIBSUPCXX} ;
|
||||
HAIKU_C++_HEADERS_DIR ?= ${HAIKU_CXX_HEADERS_DIR} ;
|
||||
|
||||
HAIKU_KERNEL_LIBGCC ?= ${HAIKU_KERNEL_LIBGCC} ;
|
||||
HAIKU_KERNEL_LIBSUPC++ ?= ${HAIKU_KERNEL_LIBSUPCXX} ;
|
||||
HAIKU_BOOT_LIBGCC ?= ${HAIKU_BOOT_LIBGCC} ;
|
||||
HAIKU_BOOT_LIBSUPC++ ?= ${HAIKU_BOOT_LIBSUPCXX} ;
|
||||
|
||||
HAIKU_BUILD_ATTRIBUTES_DIR ?= ${HAIKU_BUILD_ATTRIBUTES_DIR} ;
|
||||
|
||||
HAIKU_AR ?= ${HAIKU_AR} ;
|
||||
@@ -530,10 +590,12 @@ HAIKU_CC ?= ${HAIKU_CC} ;
|
||||
HAIKU_LD ?= ${HAIKU_LD} ;
|
||||
HAIKU_OBJCOPY ?= ${HAIKU_OBJCOPY} ;
|
||||
HAIKU_RANLIB ?= ${HAIKU_RANLIB} ;
|
||||
HAIKU_ELFEDIT ?= ${HAIKU_ELFEDIT} ;
|
||||
HAIKU_YASM ?= ${HAIKU_YASM} ;
|
||||
HAIKU_STRIP ?= ${HAIKU_STRIP} ;
|
||||
HAIKU_CPPFLAGS ?= ${HAIKU_CPPFLAGS} ;
|
||||
HAIKU_CCFLAGS ?= ${HAIKU_CCFLAGS} ;
|
||||
HAIKU_CXXFLAGS ?= ${HAIKU_CXXFLAGS} ;
|
||||
HAIKU_C++FLAGS ?= ${HAIKU_CXXFLAGS} ;
|
||||
HAIKU_LDFLAGS ?= ${HAIKU_LDFLAGS} ;
|
||||
HAIKU_ARFLAGS ?= ${HAIKU_ARFLAGS} ;
|
||||
HAIKU_UNARFLAGS ?= ${HAIKU_UNARFLAGS} ;
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 3.0 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (c) 2010 Haiku, Inc.
|
||||
# Copyright (c) 2010-2012 Haiku, Inc.
|
||||
# Distributed under the terms of the MIT License.
|
||||
#
|
||||
# Authors:
|
||||
@@ -31,6 +31,7 @@ VIEW='View licenses'
|
||||
ABORT='Abort installation'
|
||||
OK='I agree to the licenses. Install firmwares.'
|
||||
|
||||
baseURL='http://www.haiku-files.org/files/wifi-firmwares'
|
||||
firmwareDir=`finddir B_SYSTEM_DATA_DIRECTORY`/firmware
|
||||
tempDir=`finddir B_COMMON_TEMP_DIRECTORY`/wifi-firmwares
|
||||
driversDir=`finddir B_SYSTEM_ADDONS_DIRECTORY`/kernel/drivers
|
||||
@@ -119,22 +120,6 @@ function DownloadFileIfNotCached()
|
||||
local msg="As a result, ${driver}'s firmware will not be installed."
|
||||
alert --warning "$error $msg"
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
|
||||
function OpenIntelFirmwareWebpage()
|
||||
{
|
||||
# OpenIntelFirmwareWebpage <url> <file>
|
||||
local url="$1"
|
||||
local file="$2"
|
||||
|
||||
echo "Downloading $file ..."
|
||||
alert --info "A webpage is going to open. Download and save $file in ${firmwareDir}/${driver}/"
|
||||
|
||||
open "$url"
|
||||
|
||||
alert --info "Click OK after the $file has been saved in ${firmwareDir}/${driver}/"
|
||||
}
|
||||
|
||||
|
||||
@@ -142,7 +127,7 @@ function SetFirmwarePermissions()
|
||||
{
|
||||
cd ${firmwareDir}/${driver}/
|
||||
for file in * ; do
|
||||
if [ "$file" != "$driver" ] ; then
|
||||
if [ "$file" != "$driver" ] && [ -f "$file" ] ; then
|
||||
chmod a=r $file
|
||||
fi
|
||||
done
|
||||
@@ -175,18 +160,14 @@ function PostFirmwareInstallation()
|
||||
|
||||
function InstallIpw2100()
|
||||
{
|
||||
driver='ipw2100'
|
||||
driver='iprowifi2100'
|
||||
PreFirmwareInstallation
|
||||
|
||||
# Extract contents.
|
||||
local file='ipw2100-fw-1.3.tgz'
|
||||
|
||||
# In case the file doesn's exist.
|
||||
if [ ! -e ${firmwareDir}/${driver}/$file ] ; then
|
||||
url='http://ipw2100.sourceforge.net/firmware.php?fid=4'
|
||||
OpenIntelFirmwareWebpage $url $file
|
||||
fi
|
||||
# TODO: handle when $file hasn't been saved in ${firmwareDir}/${driver}/
|
||||
local url="${baseURL}/intel/${file}"
|
||||
local dir="${firmwareDir}/${driver}"
|
||||
DownloadFileIfNotCached $url $file $dir
|
||||
|
||||
# Install the firmware & license file by extracting in place.
|
||||
cd "${firmwareDir}/${driver}"
|
||||
@@ -203,13 +184,9 @@ function InstallIprowifi2200()
|
||||
|
||||
# Extract contents.
|
||||
local file='ipw2200-fw-3.1.tgz'
|
||||
|
||||
# In case the file doesn't exist.
|
||||
if [ ! -e ${firmwareDir}/${driver}/$file ] ; then
|
||||
url=http://ipw2200.sourceforge.net/firmware.php?fid=8
|
||||
OpenIntelFirmwareWebpage $url $file
|
||||
fi
|
||||
# TODO: handle when $file hasn't been saved in ${firmwareDir}/${driver}/
|
||||
local url="${baseURL}/intel/${file}"
|
||||
local dir="${firmwareDir}/${driver}"
|
||||
DownloadFileIfNotCached $url $file $dir
|
||||
|
||||
cd "$tempDir"
|
||||
gunzip < "${firmwareDir}/${driver}/$file" | tar xf -
|
||||
@@ -255,7 +232,7 @@ function InstallMarvell88w8335()
|
||||
|
||||
# Download firmware archive.
|
||||
local file="malo-firmware-1.4.tgz"
|
||||
local url='http://www.nazgul.ch/malo/malo-firmware-1.4.tgz'
|
||||
local url="${baseURL}/marvell/${file}"
|
||||
local dir="${firmwareDir}/${driver}"
|
||||
DownloadFileIfNotCached $url $file "$dir"
|
||||
if [ $result -gt 0 ]; then
|
||||
@@ -280,7 +257,7 @@ function BuildBroadcomFWCutter()
|
||||
# Download & extract b43-fwcutter.
|
||||
local file="b43-fwcutter-012.tar.bz2"
|
||||
local dir="${firmwareDir}/${driver}/b43-fwcutter"
|
||||
local url="http://bu3sch.de/b43/fwcutter/b43-fwcutter-012.tar.bz2"
|
||||
local url="${baseURL}/b43/fwcutter/${file}"
|
||||
DownloadFileIfNotCached $url $file $dir
|
||||
if [ $result -gt 0 ]; then
|
||||
return $result
|
||||
@@ -292,7 +269,7 @@ function BuildBroadcomFWCutter()
|
||||
|
||||
# Download additonal files for building b43-fwcutter.
|
||||
cd b43-fwcutter-012
|
||||
local baseURL='http://svn.haiku-os.org/haiku/haiku/trunk/src/system/libroot/posix/glibc'
|
||||
local baseURL='http://cgit.haiku-os.org/haiku/plain/src/system/libroot/posix/glibc'
|
||||
DownloadFileIfNotCached ${baseURL}/string/byteswap.h byteswap.h $dir
|
||||
if [ $result -gt 0 ]; then
|
||||
return $result
|
||||
@@ -330,7 +307,7 @@ function CutAndInstallBroadcomFirmware()
|
||||
# Download firmware.
|
||||
local file="wl_apsta-3.130.20.0.o"
|
||||
local dir="${firmwareDir}/${driver}"
|
||||
local url='http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o'
|
||||
local url="${baseURL}/b43/${file}"
|
||||
DownloadFileIfNotCached $url $file $dir
|
||||
if [ $result -gt 0 ]; then
|
||||
return $result
|
||||
|
||||
+14
-4
@@ -2,8 +2,9 @@
|
||||
#
|
||||
# setgcc [ <arch> ] [ <gcc> ]
|
||||
|
||||
abiDir=/boot/develop/abi/
|
||||
abiDir=/boot/develop/abi
|
||||
abiLink=$abiDir/current
|
||||
libDir=/boot/develop/lib
|
||||
|
||||
usage()
|
||||
{
|
||||
@@ -13,7 +14,7 @@ Usage: $0 [ <arch> ] [ <gcc> ]
|
||||
Sets the current gcc version, respectively prints it, if no arguments are
|
||||
given.
|
||||
|
||||
<arch> - The architecture to set. Supported values: "x86".
|
||||
<arch> - The architecture to set. Supported values: "x86", "ppc".
|
||||
<gcc> - The major gcc version to set. Supported values: "gcc2", "gcc4".
|
||||
|
||||
EOF
|
||||
@@ -46,6 +47,7 @@ while [ $# -gt 0 ]; do
|
||||
case $1 in
|
||||
-h,--help) usage; exit;;
|
||||
x86) arch=$1;;
|
||||
ppc) arch=$1;;
|
||||
gcc2|gcc4) gcc=$1;;
|
||||
*) usage; exit 1;;
|
||||
esac
|
||||
@@ -76,8 +78,9 @@ if [ -z "$gcc" ]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
# check whether the gcc exits
|
||||
if [ ! -e $abiDir/$arch/$gcc/tools/current/bin/gcc ]; then
|
||||
# check whether the gcc exists
|
||||
count=`ls -l $abiDir/$arch/$gcc/tools/current/bin/*gcc 2>/dev/null | wc -l`
|
||||
if [ $count -eq 0 ]; then
|
||||
echo "Can't set GCC $arch/$gcc -- not installed." >&2
|
||||
exit 1
|
||||
fi
|
||||
@@ -87,3 +90,10 @@ fi
|
||||
echo "Failed to set GCC $arch/$gcc." >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
# create the lib symlink
|
||||
libLink=$libDir/$arch
|
||||
( rm -f $libLink && ln -sf $abiDir/$arch/$gcc/lib $libLink ) || {
|
||||
echo "Failed to set lib $arch/$gcc." >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
userGuideURL="\
|
||||
http://svn.haiku-os.org/haiku/haiku/trunk/docs/userguide/en/contents.html"
|
||||
http://cgit.haiku-os.org/haiku/plain/docs/userguide/en/contents.html"
|
||||
userGuideDir=/boot/system/documentation/userguide/
|
||||
userGuide=$userGuideDir/en/contents.html
|
||||
localizedUserGuide=$userGuideDir/"$LANG"/contents.html
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
welcomeURL="\
|
||||
http://svn.haiku-os.org/haiku/haiku/trunk/docs/welcome/welcome_en.html"
|
||||
http://cgit.haiku-os.org/haiku/plain/docs/welcome/welcome_en.html"
|
||||
welcomeDir=/boot/system/documentation/welcome/
|
||||
welcomeFile=$welcomeDir/welcome_en.html
|
||||
localizedWelcomeFile=$welcomeDir/welcome_"$LANG".html
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
1 belarusian application/x-vnd.Haiku-BFSAddOn 1074880496
|
||||
1024 (Mostly small files) BFS_Initialize_Parameter 1024 (Пераважна для маленькіх файлаў)
|
||||
1 belarusian x-vnd.Haiku-BFSAddOn 1074880496
|
||||
Enable query support BFS_Initialize_Parameter Актывізаваць падтрымку запытаў
|
||||
2048 (Recommended) BFS_Initialize_Parameter 2048 (Рэкамендуецца)
|
||||
8192 (Mostly large files) BFS_Initialize_Parameter 8192 (Пераважна для велькіх файлаў)
|
||||
Blocksize: BFS_Initialize_Parameter Памер блоку:
|
||||
Disabling query support may speed up certain file system operations, but should only be used if one is absolutely certain that one will not need queries.\nAny volume that is intended for booting Haiku must have query support enabled. BFS_Initialize_Parameter Вы можаце не актывізаваць падтрымку запытаў каб паскорыць некаторыя аперацыі файлавай сістэмы. Але майце на ўвазе, што вы не будзеце мець магчымасці карыстацца на гэтым падзеле пошукавымі запытами.\nТаксама, падзел абавязаны мець падтрымку запытаў актыўнаю, калі ён будзе з´яўляецца загрузачным.
|
||||
Enable query support BFS_Initialize_Parameter Актывізаваць падтрымку запытаў
|
||||
1024 (Mostly small files) BFS_Initialize_Parameter 1024 (Пераважна для маленькіх файлаў)
|
||||
Blocksize: BFS_Initialize_Parameter Памер блоку:
|
||||
Name: BFS_Initialize_Parameter Імя:
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
1 german application/x-vnd.Haiku-BFSAddOn 1074880496
|
||||
1024 (Mostly small files) BFS_Initialize_Parameter 1024 (überwiegend kleine Dateien)
|
||||
1 german x-vnd.Haiku-BFSAddOn 1074880496
|
||||
Enable query support BFS_Initialize_Parameter Query-Unterstützung aktivieren
|
||||
2048 (Recommended) BFS_Initialize_Parameter 2048 (empfohlen)
|
||||
8192 (Mostly large files) BFS_Initialize_Parameter 8192 (überwiegend große Dateien)
|
||||
Blocksize: BFS_Initialize_Parameter Blockgröße:
|
||||
Disabling query support may speed up certain file system operations, but should only be used if one is absolutely certain that one will not need queries.\nAny volume that is intended for booting Haiku must have query support enabled. BFS_Initialize_Parameter Eine deaktivierte Query-Unterstützung kann gewisse Zugriffe im Dateisystem beschleunigen. Man muss sich dabei allerdings sicher sein, dass man auch zukünftig niemals Queries auf dieser Partition brauchen wird.\nUm Haiku von einer Partition booten zu können, wird die Query-Unterstützung unbedingt benötigt.
|
||||
Enable query support BFS_Initialize_Parameter Query-Unterstützung aktivieren
|
||||
1024 (Mostly small files) BFS_Initialize_Parameter 1024 (überwiegend kleine Dateien)
|
||||
Blocksize: BFS_Initialize_Parameter Blockgröße:
|
||||
Name: BFS_Initialize_Parameter Name:
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
1 greek, modern (1453-) x-vnd.Haiku-BFSAddOn 1074880496
|
||||
Enable query support BFS_Initialize_Parameter Ενεργοποίηση υποστήριξης ερωτημάτων
|
||||
2048 (Recommended) BFS_Initialize_Parameter 2048(Συνιστώμενη)
|
||||
8192 (Mostly large files) BFS_Initialize_Parameter 8192(Κυρίως μεγάλα αρχεία)
|
||||
Disabling query support may speed up certain file system operations, but should only be used if one is absolutely certain that one will not need queries.\nAny volume that is intended for booting Haiku must have query support enabled. BFS_Initialize_Parameter Απενεργοποιώντας την υποστήριξη ερωτημάτων μπορεί να επιτανχύνει ορισμένες λειτουργίες του συστήματος αρχείων. Αλλά αυτό μόνο αν είναι βέβαιο πως δεν κάνουν χρήση των ερωτημάτων. \n Κάθε τόμος που προορίζεται για την εκκίνηση του Haiku πρέπει να έχει ενεργοποιημένη την υποστήριξη των ερωτημάτων.
|
||||
1024 (Mostly small files) BFS_Initialize_Parameter 1024(Κυρίως μικρά αρχεία)
|
||||
Blocksize: BFS_Initialize_Parameter Μέγεθος μπλόκ:
|
||||
Name: BFS_Initialize_Parameter Όνομα:
|
||||
@@ -1,8 +1,8 @@
|
||||
1 finnish application/x-vnd.Haiku-BFSAddOn 1074880496
|
||||
1024 (Mostly small files) BFS_Initialize_Parameter 1024 (Enimmäkseen pienet tiedostot)
|
||||
1 finnish x-vnd.Haiku-BFSAddOn 1074880496
|
||||
Enable query support BFS_Initialize_Parameter Ota käyttöön kyselytuki
|
||||
2048 (Recommended) BFS_Initialize_Parameter 2048 (Suositeltu)
|
||||
8192 (Mostly large files) BFS_Initialize_Parameter 8192 (Enimmäkseen laajat tiedostot)
|
||||
Blocksize: BFS_Initialize_Parameter Lohkokoko:
|
||||
Disabling query support may speed up certain file system operations, but should only be used if one is absolutely certain that one will not need queries.\nAny volume that is intended for booting Haiku must have query support enabled. BFS_Initialize_Parameter Kyselytuen ottaminen pois käytöstä nopeuttaa tiettyjä tiedostojärjestelmätoimia, mutta sitä pitäisi käyttää ainoastaan, jos ollaan ehdottoman varmoja, että kukaan ei tarvitse kyselyjä.\nKaikissa Haikun alkulataustaltioissa on oltava kysely käytössä.
|
||||
Enable query support BFS_Initialize_Parameter Ota käyttöön kyselytuki
|
||||
1024 (Mostly small files) BFS_Initialize_Parameter 1024 (Enimmäkseen pienet tiedostot)
|
||||
Blocksize: BFS_Initialize_Parameter Lohkokoko:
|
||||
Name: BFS_Initialize_Parameter Nimi:
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
1 french application/x-vnd.Haiku-BFSAddOn 1074880496
|
||||
1024 (Mostly small files) BFS_Initialize_Parameter 1024 (Surtout des petits fichiers)
|
||||
1 french x-vnd.Haiku-BFSAddOn 1074880496
|
||||
Enable query support BFS_Initialize_Parameter Activer le support des requêtes
|
||||
2048 (Recommended) BFS_Initialize_Parameter 2048 (Recommandé)
|
||||
8192 (Mostly large files) BFS_Initialize_Parameter 8192 (Surtout des gros fichiers)
|
||||
Blocksize: BFS_Initialize_Parameter Taille de bloc :
|
||||
Disabling query support may speed up certain file system operations, but should only be used if one is absolutely certain that one will not need queries.\nAny volume that is intended for booting Haiku must have query support enabled. BFS_Initialize_Parameter Désactiver le support des requête peut accélérer certaines opérations du système de fichiers, mais vous devez être certains de ne jamais avoir besoin des requêtes.\nTout volume destiné à amorcer Haiku doit avoir le support des requête activé.
|
||||
Enable query support BFS_Initialize_Parameter Activer le support des requêtes
|
||||
1024 (Mostly small files) BFS_Initialize_Parameter 1024 (Surtout des petits fichiers)
|
||||
Blocksize: BFS_Initialize_Parameter Taille de bloc :
|
||||
Name: BFS_Initialize_Parameter Nom :
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
1 hindi x-vnd.Haiku-BFSAddOn 1074880496
|
||||
Enable query support BFS_Initialize_Parameter क्वेरी समर्थन सक्षम करें
|
||||
2048 (Recommended) BFS_Initialize_Parameter 2048(सिफारिश)
|
||||
8192 (Mostly large files) BFS_Initialize_Parameter 8192 (ज्यादातर बड़ी फ़ाइलें)
|
||||
Disabling query support may speed up certain file system operations, but should only be used if one is absolutely certain that one will not need queries.\nAny volume that is intended for booting Haiku must have query support enabled. BFS_Initialize_Parameter क्वेरी समर्थन को अक्षम करना कुछ फाइल सिस्टम संचालन की गति को बढ़ा सकता है, लेकिन इसका इस्तेमाल केवल तब ही करना चाहिए अगर बिल्कुल निश्चित है कि क्वेरी (प्रश्नों) की जरूरत नहीं होगी.\n किसी भी वॉल्यूम जो हाइकू को बूट करने के लिए अभीष्ट है उसमे क्वेरी समर्थन सक्षम होना चाहिए.
|
||||
1024 (Mostly small files) BFS_Initialize_Parameter 1024 (ज्यादातर छोटी फ़ाइलें)
|
||||
Blocksize: BFS_Initialize_Parameter ब्लॉकसाइज:
|
||||
Name: BFS_Initialize_Parameter नाम :
|
||||
@@ -0,0 +1,3 @@
|
||||
1 croatian application/x-vnd.Haiku-BFSAddOn 1111350773
|
||||
1024 (Mostly small files) BFS_Initialize_Parameter 1024 (uglavnom male datoteke
|
||||
Name: BFS_Initialize_Parameter Ime:
|
||||
@@ -0,0 +1,8 @@
|
||||
1 hungarian x-vnd.Haiku-BFSAddOn 1074880496
|
||||
Enable query support BFS_Initialize_Parameter Lekérdezéstámogatás engedélyezése
|
||||
2048 (Recommended) BFS_Initialize_Parameter 2048 (ajánlott)
|
||||
8192 (Mostly large files) BFS_Initialize_Parameter 8192 (nagyrészt nagy fájlok)
|
||||
Disabling query support may speed up certain file system operations, but should only be used if one is absolutely certain that one will not need queries.\nAny volume that is intended for booting Haiku must have query support enabled. BFS_Initialize_Parameter A lekérdezések támogatásának letiltása felgyorsíthat bizonyos fájlműveleteket, de csak akkor ajánlott használni, ha biztos, hogy nem lesz szükség a lekérdezésekre.\nMinden Haiku rendszerindító lemeznek támogatnia kell a lekérdezéseket.
|
||||
1024 (Mostly small files) BFS_Initialize_Parameter 1024 (nagyrészt kis fájlok)
|
||||
Blocksize: BFS_Initialize_Parameter Blokkméret:
|
||||
Name: BFS_Initialize_Parameter Név:
|
||||
@@ -1,8 +1,8 @@
|
||||
1 japanese application/x-vnd.Haiku-BFSAddOn 1074880496
|
||||
1024 (Mostly small files) BFS_Initialize_Parameter 1024 (小さいファイル用)
|
||||
1 japanese x-vnd.Haiku-BFSAddOn 1074880496
|
||||
Enable query support BFS_Initialize_Parameter クエリを有効にする
|
||||
2048 (Recommended) BFS_Initialize_Parameter 2048 (推奨)
|
||||
8192 (Mostly large files) BFS_Initialize_Parameter 8192 (大きいファイル用)
|
||||
8192 (Mostly large files) BFS_Initialize_Parameter 8192 (主に大きいファイル用)
|
||||
Disabling query support may speed up certain file system operations, but should only be used if one is absolutely certain that one will not need queries.\nAny volume that is intended for booting Haiku must have query support enabled. BFS_Initialize_Parameter クエリを無効にすると、特定のファイルシステム操作は早くなるでしょう。しかし、完全にクエリを必要としないことを確信している場合のみ使うべきです。\nHaiku のブート対象のボリュームは、クエリを有効にする必要があります。
|
||||
1024 (Mostly small files) BFS_Initialize_Parameter 1024 (主に小さいファイル用)
|
||||
Blocksize: BFS_Initialize_Parameter ブロックサイズ:
|
||||
Disabling query support may speed up certain file system operations, but should only be used if one is absolutely certain that one will not need queries.\nAny volume that is intended for booting Haiku must have query support enabled. BFS_Initialize_Parameter クエリーを無効にすると、特定のファイルシステム操作は早くなるでしょう。しかし、完全にクエリーを必要としないことを確信している場合のみ使うべきです。\nHaikuをブート対象のボリュームは、クエリーを有効にする必要があります。
|
||||
Enable query support BFS_Initialize_Parameter クエリーを有効にする
|
||||
Name: BFS_Initialize_Parameter 名前:
|
||||
Name: BFS_Initialize_Parameter ボリューム名:
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
1 lithuanian x-vnd.Haiku-BFSAddOn 1074880496
|
||||
Enable query support BFS_Initialize_Parameter Leisti užklausas
|
||||
2048 (Recommended) BFS_Initialize_Parameter 2048 (rekomenduojamas)
|
||||
8192 (Mostly large files) BFS_Initialize_Parameter 8192 (daugiausia dideli failai)
|
||||
Disabling query support may speed up certain file system operations, but should only be used if one is absolutely certain that one will not need queries.\nAny volume that is intended for booting Haiku must have query support enabled. BFS_Initialize_Parameter Uždraudus užklausas, gali paspartėti kai kurios failų sistemos operacijos, tačiau tai turėtų būti daroma tik esant visiškai tikriems, kad užklausų nereikės.\nJeigu į tomą ketinama diegti „Haiku“ ir iš jo šią sistemą leisti, užklausos turi būti leidžiamos.
|
||||
1024 (Mostly small files) BFS_Initialize_Parameter 1024 (daugiausia maži failai)
|
||||
Blocksize: BFS_Initialize_Parameter Blokinio dydis:
|
||||
Name: BFS_Initialize_Parameter Pavadinimas:
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user