From d9e64c01de283339f9d10201bcb185331e343c7a Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Mon, 8 Aug 2011 10:56:53 +0200 Subject: allow shared library building on ppc --- package/cyrus-sasl/patches/patch-config_ltconfig | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 package/cyrus-sasl/patches/patch-config_ltconfig diff --git a/package/cyrus-sasl/patches/patch-config_ltconfig b/package/cyrus-sasl/patches/patch-config_ltconfig new file mode 100644 index 000000000..7112c26e1 --- /dev/null +++ b/package/cyrus-sasl/patches/patch-config_ltconfig @@ -0,0 +1,20 @@ +--- cyrus-sasl-2.1.23.orig/config/ltconfig 2003-06-12 02:32:43.000000000 +0200 ++++ cyrus-sasl-2.1.23/config/ltconfig 2011-08-08 10:54:43.509265006 +0200 +@@ -2034,16 +2034,7 @@ linux-gnu*) + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + deplibs_check_method=pass_all +- +- if test -f /lib/ld.so.1; then +- dynamic_linker='GNU ld.so' +- else +- # Only the GNU ld.so supports shared libraries on MkLinux. +- case "$host_cpu" in +- powerpc*) dynamic_linker=no ;; +- *) dynamic_linker='Linux ld.so' ;; +- esac +- fi ++ dynamic_linker='Linux ld.so' + ;; + + netbsd*) -- cgit v1.2.3 From 31fb5bbcfe32d567284c5ef0b98b66921e0497b2 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Mon, 8 Aug 2011 14:14:44 +0200 Subject: disable some drivers --- package/sdl/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/package/sdl/Makefile b/package/sdl/Makefile index e39b2f6a4..d36b9d55b 100644 --- a/package/sdl/Makefile +++ b/package/sdl/Makefile @@ -40,6 +40,8 @@ CONFIGURE_ARGS+= --disable-esd \ --enable-video-fbcon \ --disable-video-directfb \ --disable-video-opengl \ + --disable-video-ps2gs \ + --disable-video-ps3 \ --with-x libsdl-install: -- cgit v1.2.3 From 96d9f7612b66674d60f6fc37df647d363fd9dce2 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Mon, 8 Aug 2011 22:42:57 +0200 Subject: fix compile with uClibc, tested on rb532 --- jtools/Makefile | 1 + package/openjdk/Makefile | 6 +- package/openjdk/patches/cross-compile.patch | 53 ++++++++++++++ package/openjdk/patches/disable-backtrace.patch | 14 +++- package/openjdk/patches/inc-path.patch | 22 ++++++ package/openjdk/patches/uClibc-compat.patch | 92 +++++++++++++++++++++++++ 6 files changed, 185 insertions(+), 3 deletions(-) create mode 100644 package/openjdk/patches/cross-compile.patch create mode 100644 package/openjdk/patches/inc-path.patch create mode 100644 package/openjdk/patches/uClibc-compat.patch diff --git a/jtools/Makefile b/jtools/Makefile index 2ea44243a..7ddaf23eb 100644 --- a/jtools/Makefile +++ b/jtools/Makefile @@ -5,6 +5,7 @@ include $(TOPDIR)/rules.mk TARGETS:= ifneq ($(ADK_PACKAGE_OPENJDK),) +# jikes is for ant TARGETS+=fastjar gcj ecj jikes classpath jamvm ant openjdk endif diff --git a/package/openjdk/Makefile b/package/openjdk/Makefile index e297bca74..45194d4d9 100644 --- a/package/openjdk/Makefile +++ b/package/openjdk/Makefile @@ -24,7 +24,7 @@ PKG_SITES:= http://download.java.net/openjdk/jdk6/promoted/b22/ \ http://icedtea.classpath.org/download/drops/ \ http://icedtea.classpath.org/download/source/ -PKG_CFLINE_OPENJDK:= depends on ADK_TARGET_LIB_GLIBC || ADK_TARGET_LIB_EGLIBC && !ADK_TARGET_SYSTEM_LEMOTE_YEELONG +#PKG_CFLINE_OPENJDK:= depends on ADK_TARGET_LIB_GLIBC || ADK_TARGET_LIB_EGLIBC && !ADK_TARGET_SYSTEM_LEMOTE_YEELONG PKG_HOST_DEPENDS:= !darwin !cygwin !openbsd !netbsd !freebsd # autotools infrastructure for OpenJDK @@ -106,6 +106,10 @@ OPENJDK_NATIVE_ENV+= ALT_COMPILER_PATH=$(STAGING_HOST_DIR)/$(REAL_GNU_TARGET_NAM TARGET_ALIAS=$(GNU_TARGET_NAME) BUILD_ALIAS=$(GNU_HOST_NAME) HOST_ALIAS=$(GNU_TARGET_NAME) ALL_TARGET:= icedtea +# add include path for Xrender.h from staging directory +post-patch: + $(SED) "s#@ADK_TARGETDIR@#$(STAGING_TARGET_DIR)#" ${WRKDIST}/$(PKG_NAME)-$(PKG_VERSION)/jdk/make/sun/xawt/Makefile + do-extract: cd ${WRKDIST}; mkdir $(PKG_NAME)-$(PKG_VERSION); \ tar xzf $(TOPDIR)/dl/$(PKG_NAME)-$(PKG_VERSION)-src-$(PKG_EXTRAVER).tar.gz -C $(PKG_NAME)-$(PKG_VERSION) diff --git a/package/openjdk/patches/cross-compile.patch b/package/openjdk/patches/cross-compile.patch new file mode 100644 index 000000000..afc00b032 --- /dev/null +++ b/package/openjdk/patches/cross-compile.patch @@ -0,0 +1,53 @@ +--- w-openjdk-6-1.orig/openjdk-6/jdk/make/sun/awt/Makefile 2011-02-28 17:06:11.000000000 +0100 ++++ w-openjdk-6-1/openjdk-6/jdk/make/sun/awt/Makefile 2011-08-07 17:00:37.676468717 +0200 +@@ -509,10 +509,7 @@ + # + + ifeq ($(PLATFORM), linux) +-CPPFLAGS += -I$(MOTIF_DIR)/include \ +- -I$(OPENWIN_HOME)/include \ +- -I$(OPENWIN_HOME)/include/X11/extensions \ +- -I$(PLATFORM_SRC)/native/$(PKGDIR)/font ++CPPFLAGS += -I$(PLATFORM_SRC)/native/$(PKGDIR)/font + endif + CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/debug \ + -I$(SHARE_SRC)/native/$(PKGDIR)/../font \ +@@ -535,10 +532,6 @@ + -I$(PLATFORM_SRC)/native/$(PKGDIR) \ + $(EVENT_MODEL) + +-ifeq ($(PLATFORM), linux) +-LDFLAGS += -L$(MOTIF_LIB) -L$(OPENWIN_LIB) +-endif +- + LDFLAGS += -L$(LIBDIR)/$(LIBARCH)/$(TSOBJDIR) \ + $(AWT_RUNPATH) + +--- w-openjdk-6-1.orig/openjdk-6/jdk/make/sun/xawt/Makefile 2011-02-28 17:06:12.000000000 +0100 ++++ w-openjdk-6-1/openjdk-6/jdk/make/sun/xawt/Makefile 2011-08-07 18:31:08.635355054 +0200 +@@ -96,6 +96,10 @@ + + CPPFLAGS += -I$(CUPS_HEADERS_PATH) + ++ifeq ($(PLATFORM), linux) ++CPPFLAGS += -I@ADK_TARGETDIR@/usr/include/X11/extensions ++endif ++ + CPPFLAGS += -DXAWT -DXAWT_HACK \ + -I$(TEMPDIR)/../../sun.awt/awt/CClassHeaders \ + -I$(PLATFORM_SRC)/native/sun/awt \ +@@ -122,14 +126,6 @@ + -I$(SHARE_SRC)/native/sun/awt \ + -I$(PLATFORM_SRC)/native/sun/awt + +-ifeq ($(PLATFORM), linux) +-# Allows for builds on Debian GNU Linux, X11 is in a different place +- CPPFLAGS += -I/usr/X11R6/include/X11/extensions \ +- -I/usr/include/X11/extensions \ +- -I$(MOTIF_DIR)/include \ +- -I$(OPENWIN_HOME)/include +-endif +- + ifeq ($(PLATFORM), solaris) + CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions -I$(MOTIF_DIR)/include + endif diff --git a/package/openjdk/patches/disable-backtrace.patch b/package/openjdk/patches/disable-backtrace.patch index bd335a914..b54c95741 100644 --- a/package/openjdk/patches/disable-backtrace.patch +++ b/package/openjdk/patches/disable-backtrace.patch @@ -1,6 +1,16 @@ --- w-openjdk-6-1.orig/openjdk-6/jdk/src/solaris/native/sun/xawt/XToolkit.c 2011-02-28 17:06:50.000000000 +0100 -+++ w-openjdk-6-1/openjdk-6/jdk/src/solaris/native/sun/xawt/XToolkit.c 2011-04-10 22:33:28.481412674 +0200 -@@ -689,7 +689,7 @@ ++++ w-openjdk-6-1/openjdk-6/jdk/src/solaris/native/sun/xawt/XToolkit.c 2011-08-08 10:45:01.445330729 +0200 +@@ -27,9 +27,6 @@ + #include + #include + #include +-#ifdef __linux__ +-#include +-#endif + + #include + #include +@@ -689,7 +686,7 @@ return ret; } diff --git a/package/openjdk/patches/inc-path.patch b/package/openjdk/patches/inc-path.patch new file mode 100644 index 000000000..32aaa919e --- /dev/null +++ b/package/openjdk/patches/inc-path.patch @@ -0,0 +1,22 @@ +--- w-openjdk-6-1.orig/openjdk-6/jdk/make/common/Defs.gmk 2011-02-28 17:06:10.000000000 +0100 ++++ w-openjdk-6-1/openjdk-6/jdk/make/common/Defs.gmk 2011-08-07 21:21:49.335286149 +0200 +@@ -173,7 +173,7 @@ + ifeq ($(DEVTOOLS_FT_DIR_EXISTS), true) + FREETYPE_HEADERS_PATH = $(DEVTOOLS_FT_DIR)/include + else +- FREETYPE_HEADERS_PATH = /usr/include ++ FREETYPE_HEADERS_PATH = /usr/include/disabled + endif + endif + endif +--- w-openjdk-6-1.orig/openjdk-6/jdk/make/common/shared/Defs-linux.gmk 2011-02-28 17:06:10.000000000 +0100 ++++ w-openjdk-6-1/openjdk-6/jdk/make/common/shared/Defs-linux.gmk 2011-08-08 10:07:58.975256728 +0200 +@@ -170,7 +170,7 @@ + GCC29_COMPILER_PATH = $(JDK_DEVTOOLS_DIR)/$(PLATFORM)/gcc29/usr/ + endif + +-_CUPS_HEADERS_PATH=/usr/include ++_CUPS_HEADERS_PATH=/usr/include/disabled + + # Import JDK images allow for partial builds, components not built are + # imported (or copied from) these import areas when needed. diff --git a/package/openjdk/patches/uClibc-compat.patch b/package/openjdk/patches/uClibc-compat.patch new file mode 100644 index 000000000..1bdf56b5b --- /dev/null +++ b/package/openjdk/patches/uClibc-compat.patch @@ -0,0 +1,92 @@ +--- w-openjdk-6-1.orig/openjdk-6/hotspot/src/os/linux/vm/os_linux.cpp 2011-02-28 17:03:14.000000000 +0100 ++++ w-openjdk-6-1/openjdk-6/hotspot/src/os/linux/vm/os_linux.cpp 2011-08-07 14:30:00.195403776 +0200 +@@ -53,7 +53,6 @@ + # include + # include + # include +-# include + # include + # include + # include +@@ -553,9 +552,10 @@ + os::Linux::set_glibc_version(str); + } else { + // _CS_GNU_LIBC_VERSION is not supported, try gnu_get_libc_version() +- static char _gnu_libc_version[32]; +- jio_snprintf(_gnu_libc_version, sizeof(_gnu_libc_version), +- "glibc %s %s", gnu_get_libc_version(), gnu_get_libc_release()); ++ // static char _gnu_libc_version[32]; ++ // jio_snprintf(_gnu_libc_version, sizeof(_gnu_libc_version), ++ // "glibc %s %s", gnu_get_libc_version(), gnu_get_libc_release()); ++ static char _gnu_libc_version[32] = "2.12"; + os::Linux::set_glibc_version(_gnu_libc_version); + } + +@@ -2434,10 +2434,8 @@ + // If we are running with earlier version, which did not have symbol versions, + // we should use the base version. + void* os::Linux::libnuma_dlsym(void* handle, const char *name) { +- void *f = dlvsym(handle, name, "libnuma_1.1"); +- if (f == NULL) { +- f = dlsym(handle, name); +- } ++ void *f; ++ f = dlsym(handle, name); + return f; + } + +@@ -4446,7 +4444,21 @@ + // Linux doesn't yet have a (official) notion of processor sets, + // so just return the system wide load average. + int os::loadavg(double loadavg[], int nelem) { +- return ::getloadavg(loadavg, nelem); ++ FILE *LOADAVG; ++ double avg[3] = { 0.0, 0.0, 0.0 }; ++ int i, res = -1;; ++ ++ if ((LOADAVG = fopen("/proc/loadavg", "r"))) { ++ fscanf(LOADAVG, "%lf %lf %lf", &avg[0], &avg[1], &avg[2]); ++ res = 0; ++ fclose(LOADAVG); ++ } ++ ++ for (i = 0; (i < nelem) && (i < 3); i++) { ++ loadavg[i] = avg[i]; ++ } ++ ++ return res; + } + + void os::pause() { + +--- w-openjdk-6-1.orig/openjdk-6/hotspot/make/linux/platform_zero.in 2011-02-28 17:03:13.000000000 +0100 ++++ w-openjdk-6-1/openjdk-6/hotspot/make/linux/platform_zero.in 2011-08-07 13:56:56.875281880 +0200 +@@ -14,4 +14,4 @@ + + gnu_dis_arch = zero + +-sysdefs = -DLINUX -D_GNU_SOURCE -DCC_INTERP -DZERO -D@ZERO_ARCHDEF@ -DZERO_LIBARCH=\"@ZERO_LIBARCH@\" ++sysdefs = -DLINUX -D_GNU_SOURCE -DCC_INTERP -DZERO -D@ZERO_ARCHDEF@ -DZERO_LIBARCH=\"@ZERO_LIBARCH@\" -D__STDC_LIMIT_MACROS + +--- w-openjdk-6-1.orig/openjdk-6/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp 2011-02-28 17:03:22.000000000 +0100 ++++ w-openjdk-6-1/openjdk-6/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp 2011-08-07 12:32:09.325489647 +0200 +@@ -238,7 +238,7 @@ + #endif + inline int g_isnan(double f) { return isnand(f); } + #elif LINUX +-inline int g_isnan(float f) { return isnanf(f); } ++inline int g_isnan(float f) { return __isnanf(f); } + inline int g_isnan(double f) { return isnan(f); } + #else + #error "missing platform-specific definition here" +@@ -252,8 +252,8 @@ + + // Checking for finiteness + +-inline int g_isfinite(jfloat f) { return finite(f); } +-inline int g_isfinite(jdouble f) { return finite(f); } ++inline int g_isfinite(jfloat f) { return isfinite(f); } ++inline int g_isfinite(jdouble f) { return isfinite(f); } + + + // Wide characters -- cgit v1.2.3 From 11f9e374a5bba6dceb3eb80ac2ae65d74543d91a Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Tue, 9 Aug 2011 11:42:14 +0200 Subject: java uses $ORIGIN in RPATH of the binary. This patch from the mailinglist, seems to work fine. http://www.mail-archive.com/uclibc@uclibc.org/msg06444.html --- toolchain/uClibc/patches/rpath-origin.patch | 174 ++++++++++++++++++++++++++++ 1 file changed, 174 insertions(+) create mode 100644 toolchain/uClibc/patches/rpath-origin.patch diff --git a/toolchain/uClibc/patches/rpath-origin.patch b/toolchain/uClibc/patches/rpath-origin.patch new file mode 100644 index 000000000..c2bd2e8ab --- /dev/null +++ b/toolchain/uClibc/patches/rpath-origin.patch @@ -0,0 +1,174 @@ +diff -Nur uClibc-0.9.32.orig//ldso/ldso/dl-elf.c uClibc-0.9.32/ldso/ldso/dl-elf.c +--- uClibc-0.9.32.orig//ldso/ldso/dl-elf.c 2011-06-08 21:35:20.000000000 +0200 ++++ uClibc-0.9.32/ldso/ldso/dl-elf.c 2011-08-09 11:19:18.325314589 +0200 +@@ -133,53 +133,59 @@ + * in uClibc/ldso/util/ldd.c */ + static struct elf_resolve * + search_for_named_library(const char *name, int secure, const char *path_list, +- struct dyn_elf **rpnt) ++ struct dyn_elf **rpnt, const char *origin) + { +- char *path, *path_n, *mylibname; ++ char *mylibname; ++ const char *p, *pn; + struct elf_resolve *tpnt; +- int done; ++ int plen; + + if (path_list==NULL) + return NULL; + +- /* We need a writable copy of this string, but we don't +- * need this allocated permanently since we don't want +- * to leak memory, so use alloca to put path on the stack */ +- done = _dl_strlen(path_list); +- path = alloca(done + 1); +- + /* another bit of local storage */ + mylibname = alloca(2050); + +- _dl_memcpy(path, path_list, done+1); +- + /* Unlike ldd.c, don't bother to eliminate double //s */ + + /* Replace colons with zeros in path_list */ + /* : at the beginning or end of path maps to CWD */ + /* :: anywhere maps CWD */ + /* "" maps to CWD */ +- done = 0; +- path_n = path; +- do { +- if (*path == 0) { +- *path = ':'; +- done = 1; ++ for (p = path_list; p != NULL; p = pn) { ++ pn = _dl_strchr(p + 1, ':'); ++ if (pn != NULL) { ++ plen = pn - p; ++ pn++; ++ } else ++ plen = _dl_strlen(p); ++ ++ if (plen >= 7 && _dl_memcmp(p, "$ORIGIN", 7) == 0) { ++ int olen; ++ if (secure && plen != 7) ++ continue; ++ if (origin == NULL) ++ continue; ++ for (olen = _dl_strlen(origin) - 1; olen >= 0 && origin[olen] != '/'; olen--) ++ ; ++ if (olen <= 0) ++ continue; ++ _dl_memcpy(&mylibname[0], origin, olen); ++ _dl_memcpy(&mylibname[olen], p + 7, plen - 7); ++ mylibname[olen + plen - 7] = 0; ++ } else if (plen != 0) { ++ _dl_memcpy(mylibname, p, plen); ++ mylibname[plen] = 0; ++ } else { ++ _dl_strcpy(mylibname, "."); + } +- if (*path == ':') { +- *path = 0; +- if (*path_n) +- _dl_strcpy(mylibname, path_n); +- else +- _dl_strcpy(mylibname, "."); /* Assume current dir if empty path */ +- _dl_strcat(mylibname, "/"); +- _dl_strcat(mylibname, name); +- if ((tpnt = _dl_load_elf_shared_library(secure, rpnt, mylibname)) != NULL) +- return tpnt; +- path_n = path+1; +- } +- path++; +- } while (!done); ++ _dl_strcat(mylibname, "/"); ++ _dl_strcat(mylibname, name); ++ ++ tpnt = _dl_load_elf_shared_library(secure, rpnt, mylibname); ++ if (tpnt != NULL) ++ return tpnt; ++ } + return NULL; + } + +@@ -231,7 +237,7 @@ + if (pnt) { + pnt += (unsigned long) tpnt->dynamic_info[DT_STRTAB]; + _dl_if_debug_dprint("\tsearching RPATH='%s'\n", pnt); +- if ((tpnt1 = search_for_named_library(libname, secure, pnt, rpnt)) != NULL) ++ if ((tpnt1 = search_for_named_library(libname, secure, pnt, rpnt, tpnt->libname)) != NULL) + return tpnt1; + } + #endif +@@ -239,7 +245,7 @@ + /* Check in LD_{ELF_}LIBRARY_PATH, if specified and allowed */ + if (_dl_library_path) { + _dl_if_debug_dprint("\tsearching LD_LIBRARY_PATH='%s'\n", _dl_library_path); +- if ((tpnt1 = search_for_named_library(libname, secure, _dl_library_path, rpnt)) != NULL) ++ if ((tpnt1 = search_for_named_library(libname, secure, _dl_library_path, rpnt, NULL)) != NULL) + { + return tpnt1; + } +@@ -253,7 +259,7 @@ + if (pnt) { + pnt += (unsigned long) tpnt->dynamic_info[DT_STRTAB]; + _dl_if_debug_dprint("\tsearching RUNPATH='%s'\n", pnt); +- if ((tpnt1 = search_for_named_library(libname, secure, pnt, rpnt)) != NULL) ++ if ((tpnt1 = search_for_named_library(libname, secure, pnt, rpnt, NULL)) != NULL) + return tpnt1; + } + #endif +@@ -287,7 +293,7 @@ + /* Look for libraries wherever the shared library loader + * was installed */ + _dl_if_debug_dprint("\tsearching ldso dir='%s'\n", _dl_ldsopath); +- tpnt1 = search_for_named_library(libname, secure, _dl_ldsopath, rpnt); ++ tpnt1 = search_for_named_library(libname, secure, _dl_ldsopath, rpnt, NULL); + if (tpnt1 != NULL) + return tpnt1; + +@@ -300,7 +306,7 @@ + #ifndef __LDSO_CACHE_SUPPORT__ + ":" UCLIBC_RUNTIME_PREFIX "usr/X11R6/lib" + #endif +- , rpnt); ++ , rpnt, NULL); + if (tpnt1 != NULL) + return tpnt1; + +diff -Nur uClibc-0.9.32.orig//ldso/ldso/ldso.c uClibc-0.9.32/ldso/ldso/ldso.c +--- uClibc-0.9.32.orig//ldso/ldso/ldso.c 2011-06-08 21:35:20.000000000 +0200 ++++ uClibc-0.9.32/ldso/ldso/ldso.c 2011-08-09 11:15:04.135386129 +0200 +@@ -272,6 +272,20 @@ + } + } + ++static void _dl_setup_progname(const char *argv0) ++{ ++ char image[PATH_MAX]; ++ ssize_t s; ++ ++ s = _dl_readlink("/proc/self/exe", image, sizeof(image)); ++ if (s > 0 && image[0] == '/') { ++ image[s] = 0; ++ _dl_progname = _dl_strdup(image); ++ } else if (argv0) { ++ _dl_progname = argv0; ++ } ++} ++ + void _dl_get_ready_to_run(struct elf_resolve *tpnt, DL_LOADADDR_TYPE load_addr, + ElfW(auxv_t) auxvt[AT_EGID + 1], char **envp, + char **argv +@@ -321,9 +335,7 @@ + * been fixed up by now. Still no function calls outside of this + * library, since the dynamic resolver is not yet ready. + */ +- if (argv[0]) { +- _dl_progname = argv[0]; +- } ++ _dl_setup_progname(argv[0]); + + if (_start == (void *) auxvt[AT_ENTRY].a_un.a_val) { + _dl_dprintf(_dl_debug_file, "Standalone execution is not supported yet\n"); -- cgit v1.2.3 From f74d8a406d12c57550fea0cd4dbe967cd9f94eeb Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Tue, 9 Aug 2011 16:56:39 +0200 Subject: some powerpc fixes found via make bulk --- .../patch-lib_direct_ppcasm_memcpy_cachable_S | 11 + package/forked-daapd/Makefile | 7 +- package/gpsd/Makefile | 2 +- package/id3lib/Makefile | 2 +- package/microperl/files/uconfig.h.ppc | 4462 ++++++++++++++++++++ package/pcc-libs/Makefile | 2 +- package/pcc/Makefile | 3 +- target/config/Config.in | 2 +- target/ppc/uclibc.config | 2 +- 9 files changed, 4484 insertions(+), 9 deletions(-) create mode 100644 package/DirectFB/patches/patch-lib_direct_ppcasm_memcpy_cachable_S create mode 100644 package/microperl/files/uconfig.h.ppc diff --git a/package/DirectFB/patches/patch-lib_direct_ppcasm_memcpy_cachable_S b/package/DirectFB/patches/patch-lib_direct_ppcasm_memcpy_cachable_S new file mode 100644 index 000000000..5352a950c --- /dev/null +++ b/package/DirectFB/patches/patch-lib_direct_ppcasm_memcpy_cachable_S @@ -0,0 +1,11 @@ +--- DirectFB-1.4.11.orig/lib/direct/ppcasm_memcpy_cachable.S 2010-10-08 14:43:46.000000000 +0200 ++++ DirectFB-1.4.11/lib/direct/ppcasm_memcpy_cachable.S 2011-08-08 14:52:51.448015034 +0200 +@@ -34,8 +34,6 @@ + + #define __ASSEMBLY__ + +-#include +- + #if defined(CONFIG_8xx) || defined(CONFIG_403GCX) + #define L1_CACHE_LINE_SIZE 16 + #define LG_L1_CACHE_LINE_SIZE 4 diff --git a/package/forked-daapd/Makefile b/package/forked-daapd/Makefile index 7b11a7523..435a3c560 100644 --- a/package/forked-daapd/Makefile +++ b/package/forked-daapd/Makefile @@ -4,9 +4,9 @@ include $(TOPDIR)/rules.mk PKG_NAME:= forked-daapd -PKG_VERSION:= 0.16 +PKG_VERSION:= 0.18 PKG_RELEASE:= 1 -PKG_MD5SUM:= cc35619babefea35db9ee22e6f1d036b +PKG_MD5SUM:= b45aab5b60382ec3ada7e71cb1356b1d PKG_DESCR:= DAAPD server PKG_SECTION:= multimedia PKG_DEPENDS:= libunistring zlib libconfuse sqlite ffmpeg libgcrypt @@ -17,11 +17,14 @@ PKG_BUILDDEP+= mxml libevent libavl libantlr3c alsa-lib libgcrypt PKG_SITES:= http://alioth.debian.org/~jblache/forked-daapd/ PKG_CFLINE_FORKED_DAAPD:= select ADK_KERNEL_INOTIFY_USER +PKG_ARCH_DEPENDS:= !ppc include $(TOPDIR)/mk/package.mk $(eval $(call PKG_template,FORKED_DAAPD,forked-daapd,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) +#TARGET_LDFLAGS+= -lgcc + forked-daapd-install: $(INSTALL_DIR) $(IDIR_FORKED_DAAPD)/etc $(CP) ./files/forked-daapd.conf \ diff --git a/package/gpsd/Makefile b/package/gpsd/Makefile index 397460f67..19cd7c3f2 100644 --- a/package/gpsd/Makefile +++ b/package/gpsd/Makefile @@ -34,7 +34,7 @@ CONFIGURE_ENV+= EGREP="grep -E" \ CONFIGURE_ARGS+= --disable-dbus TARGET_CFLAGS+= -fPIC -LIBRARIES:=-nodefaultlibs -luClibc++ +LIBRARIES:=-nodefaultlibs -luClibc++ -lgcc ifeq ($(ADK_TOOLCHAIN_GCC_USE_SSP),y) LIBRARIES+=-lssp -lssp_nonshared endif diff --git a/package/id3lib/Makefile b/package/id3lib/Makefile index 370b40755..bcff710b1 100644 --- a/package/id3lib/Makefile +++ b/package/id3lib/Makefile @@ -23,7 +23,7 @@ $(eval $(call PKG_template,ID3LIB,id3lib,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEP TARGET_CFLAGS+= -fPIC CONFIGURE_ARGS+= --enable-cxx-warnings=no -LIBRARIES:=-nodefaultlibs -luClibc++ -lz -lm -lc +LIBRARIES:=-nodefaultlibs -luClibc++ -lz -lm -lc -lgcc ifeq ($(ADK_TOOLCHAIN_GCC_USE_SSP),y) LIBRARIES+=-lssp -fstack-protector endif diff --git a/package/microperl/files/uconfig.h.ppc b/package/microperl/files/uconfig.h.ppc new file mode 100644 index 000000000..bfc1ab90b --- /dev/null +++ b/package/microperl/files/uconfig.h.ppc @@ -0,0 +1,4462 @@ +/* + * This file was produced by running the config_h.SH script, which + * gets its values from config.sh, which is generally produced by + * running Configure. + * + * Feel free to modify any of this as the need arises. Note, however, + * that running config_h.SH again will wipe out any changes you've made. + * For a more permanent change edit config.sh and rerun config_h.SH. + * + * $Id: Config_h.U,v 3.0.1.5 1997/02/28 14:57:43 ram Exp $ + */ + +/* + * Package name : perl5 + * Source directory : . + * Configuration time: Mon Sep 14 22:24:11 CEST 2009 + * Configured by : OpenADK + * Target system : linux linux 2.6.30.5 #4 smp fri sep 11 13:47:48 cest 2009 x86_64 unknown + */ + +#ifndef _config_h_ +#define _config_h_ + +/* LOC_SED: + * This symbol holds the complete pathname to the sed program. + */ +#define LOC_SED "/bin/sed" /**/ + +/* HAS_ALARM: + * This symbol, if defined, indicates that the alarm routine is + * available. + */ +#define HAS_ALARM /**/ + +/* HAS_BCMP: + * This symbol is defined if the bcmp() routine is available to + * compare blocks of memory. + */ +/*#define HAS_BCMP / **/ + +/* HAS_BCOPY: + * This symbol is defined if the bcopy() routine is available to + * copy blocks of memory. + */ +/*#define HAS_BCOPY / **/ + +/* HAS_BZERO: + * This symbol is defined if the bzero() routine is available to + * set a memory block to 0. + */ +/*#define HAS_BZERO / **/ + +/* HAS_CHOWN: + * This symbol, if defined, indicates that the chown routine is + * available. + */ +#define HAS_CHOWN /**/ + +/* HAS_CHROOT: + * This symbol, if defined, indicates that the chroot routine is + * available. + */ +#define HAS_CHROOT /**/ + +/* HAS_CHSIZE: + * This symbol, if defined, indicates that the chsize routine is available + * to truncate files. You might need a -lx to get this routine. + */ +/*#define HAS_CHSIZE / **/ + +/* HAS_CTERMID: + * This symbol, if defined, indicates that the ctermid routine is + * available to generate filename for terminal. + */ +#define HAS_CTERMID /**/ + +/* HAS_CUSERID: + * This symbol, if defined, indicates that the cuserid routine is + * available to get character login names. + */ +#define HAS_CUSERID /**/ + +/* HAS_DBL_DIG: + * This symbol, if defined, indicates that this system's + * or defines the symbol DBL_DIG, which is the number + * of significant digits in a double precision number. If this + * symbol is not defined, a guess of 15 is usually pretty good. + */ +#define HAS_DBL_DIG /* */ + +/* HAS_DIFFTIME: + * This symbol, if defined, indicates that the difftime routine is + * available. + */ +#define HAS_DIFFTIME /**/ + +/* HAS_DLERROR: + * This symbol, if defined, indicates that the dlerror routine is + * available to return a string describing the last error that + * occurred from a call to dlopen(), dlclose() or dlsym(). + */ +/*#define HAS_DLERROR / **/ + +/* HAS_DUP2: + * This symbol, if defined, indicates that the dup2 routine is + * available to duplicate file descriptors. + */ +#define HAS_DUP2 /**/ + +/* HAS_FCHMOD: + * This symbol, if defined, indicates that the fchmod routine is available + * to change mode of opened files. If unavailable, use chmod(). + */ +#define HAS_FCHMOD /**/ + +/* HAS_FCHOWN: + * This symbol, if defined, indicates that the fchown routine is available + * to change ownership of opened files. If unavailable, use chown(). + */ +#define HAS_FCHOWN /**/ + +/* HAS_FCNTL: + * This symbol, if defined, indicates to the C program that + * the fcntl() function exists. + */ +#define HAS_FCNTL /**/ + +/* HAS_FGETPOS: + * This symbol, if defined, indicates that the fgetpos routine is + * available to get the file position indicator, similar to ftell(). + */ +#define HAS_FGETPOS /**/ + +/* HAS_FLOCK: + * This symbol, if defined, indicates that the flock routine is + * available to do file locking. + */ +#define HAS_FLOCK /**/ + +/* HAS_FORK: + * This symbol, if defined, indicates that the fork routine is + * available. + */ +#define HAS_FORK /**/ + +/* HAS_FSETPOS: + * This symbol, if defined, indicates that the fsetpos routine is + * available to set the file position indicator, similar to fseek(). + */ +#define HAS_FSETPOS /**/ + +/* HAS_GETTIMEOFDAY: + * This symbol, if defined, indicates that the gettimeofday() system + * call is available for a sub-second accuracy clock. Usually, the file + * needs to be included (see I_SYS_RESOURCE). + * The type "Timeval" should be used to refer to "struct timeval". + */ +#define HAS_GETTIMEOFDAY /**/ +#ifdef HAS_GETTIMEOFDAY +#define Timeval struct timeval /* Structure used by gettimeofday() */ +#endif + +/* HAS_GETGROUPS: + * This symbol, if defined, indicates that the getgroups() routine is + * available to get the list of process groups. If unavailable, multiple + * groups are probably not supported. + */ +#define HAS_GETGROUPS /**/ + +/* HAS_GETLOGIN: + * This symbol, if defined, indicates that the getlogin routine is + * available to get the login name. + */ +#define HAS_GETLOGIN /**/ + +/* HAS_GETPGID: + * This symbol, if defined, indicates to the C program that + * the getpgid(pid) function is available to get the + * process group id. + */ +#define HAS_GETPGID /**/ + +/* HAS_GETPGRP2: + * This symbol, if defined, indicates that the getpgrp2() (as in DG/UX) + * routine is available to get the current process group. + */ +/*#define HAS_GETPGRP2 / **/ + +/* HAS_GETPPID: + * This symbol, if defined, indicates that the getppid routine is + * available to get the parent process ID. + */ +#define HAS_GETPPID /**/ + +/* HAS_GETPRIORITY: + * This symbol, if defined, indicates that the getpriority routine is + * available to get a process's priority. + */ +#define HAS_GETPRIORITY /**/ + +/* HAS_INET_ATON: + * This symbol, if defined, indicates to the C program that the + * inet_aton() function is available to parse IP address "dotted-quad" + * strings. + */ +#define HAS_INET_ATON /**/ + +/* HAS_KILLPG: + * This symbol, if defined, indicates that the killpg routine is available + * to kill process groups. If unavailable, you probably should use kill + * with a negative process number. + */ +#define HAS_KILLPG /**/ + +/* HAS_LINK: + * This symbol, if defined, indicates that the link routine is + * available to create hard links. + */ +#define HAS_LINK /**/ + +/* HAS_LOCALECONV: + * This symbol, if defined, indicates that the localeconv routine is + * available for numeric and monetary formatting conventions. + */ +#define HAS_LOCALECONV /**/ + +/* HAS_LOCKF: + * This symbol, if defined, indicates that the lockf routine is + * available to do file locking. + */ +#define HAS_LOCKF /**/ + +/* HAS_LSTAT: + * This symbol, if defined, indicates that the lstat routine is + * available to do file stats on symbolic links. + */ +#define HAS_LSTAT /**/ + +/* HAS_MBLEN: + * This symbol, if defined, indicates that the mblen routine is available + * to find the number of bytes in a multibye character. + */ +#define HAS_MBLEN /**/ + +/* HAS_MBSTOWCS: + * This symbol, if defined, indicates that the mbstowcs routine is + * available to covert a multibyte string into a wide character string. + */ +#define HAS_MBSTOWCS /**/ + +/* HAS_MBTOWC: + * This symbol, if defined, indicates that the mbtowc routine is available + * to covert a multibyte to a wide character. + */ +#define HAS_MBTOWC /**/ + +/* HAS_MEMCMP: + * This symbol, if defined, indicates that the memcmp routine is available + * to compare blocks of memory. + */ +#define HAS_MEMCMP /**/ + +/* HAS_MEMCPY: + * This symbol, if defined, indicates that the memcpy routine is available + * to copy blocks of memory. + */ +#define HAS_MEMCPY /**/ + +/* HAS_MEMMOVE: + * This symbol, if defined, indicates that the memmove routine is available + * to copy potentially overlapping blocks of memory. This should be used + * only when HAS_SAFE_BCOPY is not defined. If neither is there, roll your + * own version. + */ +#define HAS_MEMMOVE /**/ + +/* HAS_MEMSET: + * This symbol, if defined, indicates that the memset routine is available + * to set blocks of memory. + */ +#define HAS_MEMSET /**/ + +/* HAS_MKDIR: + * This symbol, if defined, indicates that the mkdir routine is available + * to create directories. Otherwise you should fork off a new process to + * exec /bin/mkdir. + */ +#define HAS_MKDIR /**/ + +/* HAS_MKFIFO: + * This symbol, if defined, indicates that the mkfifo routine is + * available to create FIFOs. Otherwise, mknod should be able to + * do it for you. However, if mkfifo is there, mknod might require + * super-user privileges which mkfifo will not. + */ +#define HAS_MKFIFO /**/ + +/* HAS_MKTIME: + * This symbol, if defined, indicates that the mktime routine is + * available. + */ +#define HAS_MKTIME /**/ + +/* HAS_MSYNC: + * This symbol, if defined, indicates that the msync system call is + * available to synchronize a mapped file. + */ +#define HAS_MSYNC /**/ + +/* HAS_MUNMAP: + * This symbol, if defined, indicates that the munmap system call is + * available to unmap a region, usually mapped by mmap(). + */ +#define HAS_MUNMAP /**/ + +/* HAS_NICE: + * This symbol, if defined, indicates that the nice routine is + * available. + */ +#define HAS_NICE /**/ + +/* HAS_PATHCONF: + * This symbol, if defined, indicates that pathconf() is available + * to determine file-system related limits and options associated + * with a given filename. + */ +/* HAS_FPATHCONF: + * This symbol, if defined, indicates that pathconf() is available + * to determine file-system related limits and options associated + * with a given open file descriptor. + */ +#define HAS_PATHCONF /**/ +#define HAS_FPATHCONF /**/ + +/* HAS_PAUSE: + * This symbol, if defined, indicates that the pause routine is + * available to suspend a process until a signal is received. + */ +#define HAS_PAUSE /**/ + +/* HAS_PIPE: + * This symbol, if defined, indicates that the pipe routine is + * available to create an inter-process channel. + */ +#define HAS_PIPE /**/ + +/* HAS_READDIR: + * This symbol, if defined, indicates that the readdir routine is + * available to read directory entries. You may have to include + * . See I_DIRENT. + */ +#define HAS_READDIR /**/ + +/* HAS_SEEKDIR: + * This symbol, if defined, indicates that the seekdir routine is + * available. You may have to include . See I_DIRENT. + */ +#define HAS_SEEKDIR /**/ + +/* HAS_TELLDIR: + * This symbol, if defined, indicates that the telldir routine is + * available. You may have to include . See I_DIRENT. + */ +#define HAS_TELLDIR /**/ + +/* HAS_REWINDDIR: + * This symbol, if defined, indicates that the rewinddir routine is + * available. You may have to include . See I_DIRENT. + */ +#define HAS_REWINDDIR /**/ + +/* HAS_READLINK: + * This symbol, if defined, indicates that the readlink routine is + * available to read the value of a symbolic link. + */ +#define HAS_READLINK /**/ + +/* HAS_RENAME: + * This symbol, if defined, indicates that the rename routine is available + * to rename files. Otherwise you should do the unlink(), link(), unlink() + * trick. + */ +#define HAS_RENAME /**/ + +/* HAS_RMDIR: + * This symbol, if defined, indicates that the rmdir routine is + * available to remove directories. Otherwise you should fork off a + * new process to exec /bin/rmdir. + */ +#define HAS_RMDIR /**/ + +/* HAS_SELECT: + * This symbol, if defined, indicates that the select routine is + * available to select active file descriptors. If the timeout field + * is used, may need to be included. + */ +#define HAS_SELECT /**/ + +/* HAS_SETEGID: + * This symbol, if defined, indicates that the setegid routine is available + * to change the effective gid of the current program. + */ +#define HAS_SETEGID /**/ + +/* HAS_SETEUID: + * This symbol, if defined, indicates that the seteuid routine is available + * to change the effective uid of the current program. + */ +#define HAS_SETEUID /**/ + +/* HAS_SETLINEBUF: + * This symbol, if defined, indicates that the setlinebuf routine is + * available to change stderr or stdout from block-buffered or unbuffered + * to a line-buffered mode. + */ +#define HAS_SETLINEBUF /**/ + +/* HAS_SETLOCALE: + * This symbol, if defined, indicates that the setlocale routine is + * available to handle locale-specific ctype implementations. + */ +#define HAS_SETLOCALE /**/ + +/* HAS_SETPGID: + * This symbol, if defined, indicates that the setpgid(pid, gpid) + * routine is available to set process group ID. + */ +#define HAS_SETPGID /**/ + +/* HAS_SETPGRP2: + * This symbol, if defined, indicates that the setpgrp2() (as in DG/UX) + * routine is available to set the current process group. + */ +/*#define HAS_SETPGRP2 / **/ + +/* HAS_SETPRIORITY: + * This symbol, if defined, indicates that the setpriority routine is + * available to set a process's priority. + */ +#define HAS_SETPRIORITY /**/ + +/* HAS_SETREGID: + * This symbol, if defined, indicates that the setregid routine is + * available to change the real and effective gid of the current + * process. + */ +/* HAS_SETRESGID: + * This symbol, if defined, indicates that the setresgid routine is + * available to change the real, effective and saved gid of the current + * process. + */ +#define HAS_SETREGID /**/ +#define HAS_SETRESGID /**/ + +/* HAS_SETREUID: + * This symbol, if defined, indicates that the setreuid routine is + * available to change the real and effective uid of the current + * process. + */ +/* HAS_SETRESUID: + * This symbol, if defined, indicates that the setresuid routine is + * available to change the real, effective and saved uid of the current + * process. + */ +#define HAS_SETREUID /**/ +#define HAS_SETRESUID /**/ + +/* HAS_SETRGID: + * This symbol, if defined, indicates that the setrgid routine is available + * to change the real gid of the current program. + */ +/*#define HAS_SETRGID / **/ + +/* HAS_SETRUID: + * This symbol, if defined, indicates that the setruid routine is available + * to change the real uid of the current program. + */ +/*#define HAS_SETRUID / **/ + +/* HAS_SETSID: + * This symbol, if defined, indicates that the setsid routine is + * available to set the process group ID. + */ +#define HAS_SETSID /**/ + +/* HAS_STRCHR: + * This symbol is defined to indicate that the strchr()/strrchr() + * functions are available for string searching. If not, try the + * index()/rindex() pair. + */ +/* HAS_INDEX: + * This symbol is defined to indicate that the index()/rindex() + * functions are available for string searching. + */ +#define HAS_STRCHR /**/ +/*#define HAS_INDEX / **/ + +/* HAS_STRCOLL: + * This symbol, if defined, indicates that the strcoll routine is + * available to compare strings using collating information. + */ +#define HAS_STRCOLL /**/ + +/* HAS_STRTOD: + * This symbol, if defined, indicates that the strtod routine is + * available to provide better numeric string conversion than atof(). + */ +#define HAS_STRTOD /**/ + +/* HAS_STRTOL: + * This symbol, if defined, indicates that the strtol routine is available + * to provide better numeric string conversion than atoi() and friends. + */ +#define HAS_STRTOL /**/ + +/* HAS_STRXFRM: + * This symbol, if defined, indicates that the strxfrm() routine is + * available to transform strings. + */ +#define HAS_STRXFRM /**/ + +/* HAS_SYMLINK: + * This symbol, if defined, indicates that the symlink routine is available + * to create symbolic links. + */ +#define HAS_SYMLINK /**/ + +/* HAS_SYSCALL: + * This symbol, if defined, indicates that the syscall routine is + * available to call arbitrary system calls. If undefined, that's tough. + */ +#define HAS_SYSCALL /**/ + +/* HAS_SYSCONF: + * This symbol, if defined, indicates that sysconf() is available + * to determine system related limits and options. + */ +#define HAS_SYSCONF /**/ + +/* HAS_SYSTEM: + * This symbol, if defined, indicates that the system routine is + * available to issue a shell command. + */ +#define HAS_SYSTEM /**/ + +/* HAS_TCGETPGRP: + * This symbol, if defined, indicates that the tcgetpgrp routine is + * available to get foreground process group ID. + */ +#define HAS_TCGETPGRP /**/ + +/* HAS_TCSETPGRP: + * This symbol, if defined, indicates that the tcsetpgrp routine is + * available to set foreground process group ID. + */ +#define HAS_TCSETPGRP /**/ + +/* HAS_TRUNCATE: + * This symbol, if defined, indicates that the truncate routine is + * available to truncate files. + */ +#define HAS_TRUNCATE /**/ + +/* HAS_TZNAME: + * This symbol, if defined, indicates that the tzname[] array is + * available to access timezone names. + */ +#define HAS_TZNAME /**/ + +/* HAS_UMASK: + * This symbol, if defined, indicates that the umask routine is + * available to set and get the value of the file creation mask. + */ +#define HAS_UMASK /**/ + +/* HAS_USLEEP: + * This symbol, if defined, indicates that the usleep routine is + * available to let the process sleep on a sub-second accuracy. + */ +#define HAS_USLEEP /**/ + +/* HAS_WAIT4: + * This symbol, if defined, indicates that wait4() exists. + */ +#define HAS_WAIT4 /**/ + +/* HAS_WAITPID: + * This symbol, if defined, indicates that the waitpid routine is + * available to wait for child process. + */ +#define HAS_WAITPID /**/ + +/* HAS_WCSTOMBS: + * This symbol, if defined, indicates that the wcstombs routine is + * available to convert wide character strings to multibyte strings. + */ +#define HAS_WCSTOMBS /**/ + +/* HAS_WCTOMB: + * This symbol, if defined, indicates that the wctomb routine is available + * to covert a wide character to a multibyte. + */ +#define HAS_WCTOMB /**/ + +/* I_ARPA_INET: + * This symbol, if defined, indicates to the C program that it should + * include to get inet_addr and friends declarations. + */ +#define I_ARPA_INET /**/ + +/* I_DBM: + * This symbol, if defined, indicates that exists and should + * be included. + */ +/* I_RPCSVC_DBM: + * This symbol, if defined, indicates that exists and + * should be included. + */ +/*#define I_DBM / **/ +/*#define I_RPCSVC_DBM / **/ + +/* I_DLFCN: + * This symbol, if defined, indicates that exists and should + * be included. + */ +#define I_DLFCN /**/ + +/* I_FCNTL: + * This manifest constant tells the C program to include . + */ +/*#define I_FCNTL / **/ + +/* I_FLOAT: + * This symbol, if defined, indicates to the C program that it should + * include to get definition of symbols like DBL_MAX or + * DBL_MIN, i.e. machine dependent floating point values. + */ +#define I_FLOAT /**/ + +/* I_GDBM: + * This symbol, if defined, indicates that exists and should + * be included. + */ +/*#define I_GDBM / **/ + +/* I_LIMITS: + * This symbol, if defined, indicates to the C program that it should + * include to get definition of symbols like WORD_BIT or + * LONG_MAX, i.e. machine dependant limitations. + */ +#define I_LIMITS /**/ + +/* I_LOCALE: + * This symbol, if defined, indicates to the C program that it should + * include . + */ +#define I_LOCALE /**/ + +/* I_MATH: + * This symbol, if defined, indicates to the C program that it should + * include . + */ +#define I_MATH /**/ + +/* I_MEMORY: + * This symbol, if defined, indicates to the C program that it should + * include . + */ +/*#define I_MEMORY / **/ + +/* I_NET_ERRNO: + * This symbol, if defined, indicates that exists and + * should be included. + */ +/*#define I_NET_ERRNO / **/ + +/* I_NETINET_IN: + * This symbol, if defined, indicates to the C program that it should + * include . Otherwise, you may try . + */ +#define I_NETINET_IN /**/ + +/* I_SFIO: + * This symbol, if defined, indicates to the C program that it should + * include . + */ +/*#define I_SFIO / **/ + +/* I_STDDEF: + * This symbol, if defined, indicates that exists and should + * be included. + */ +#define I_STDDEF /**/ + +/* I_STDLIB: + * This symbol, if defined, indicates that exists and should + * be included. + */ +#define I_STDLIB /**/ + +/* I_STRING: + * This symbol, if defined, indicates to the C program that it should + * include (USG systems) instead of (BSD systems). + */ +#define I_STRING /**/ + +/* I_SYS_DIR: + * This symbol, if defined, indicates to the C program that it should + * include . + */ +#define I_SYS_DIR /**/ + +/* I_SYS_FILE: + * This symbol, if defined, indicates to the C program that it should + * include to get definition of R_OK and friends. + */ +#define I_SYS_FILE /**/ + +/* I_SYS_IOCTL: + * This symbol, if defined, indicates that exists and should + * be included. Otherwise, include or . + */ +/* I_SYS_SOCKIO: + * This symbol, if defined, indicates the should be included + * to get socket ioctl options, like SIOCATMARK. + */ +#define I_SYS_IOCTL /**/ +/*#define I_SYS_SOCKIO / **/ + +/* I_SYS_NDIR: + * This symbol, if defined, indicates to the C program that it should + * include . + */ +/*#define I_SYS_NDIR / **/ + +/* I_SYS_PARAM: + * This symbol, if defined, indicates to the C program that it should + * include . + */ +#define I_SYS_PARAM /**/ + +/* I_SYS_RESOURCE: + * This symbol, if defined, indicates to the C program that it should + * include . + */ +#define I_SYS_RESOURCE /**/ + +/* I_SYS_SELECT: + * This symbol, if defined, indicates to the C program that it should + * include in order to get definition of struct timeval. + */ +#define I_SYS_SELECT /**/ + +/* I_SYS_STAT: + * This symbol, if defined, indicates to the C program that it should + * include . + */ +#define I_SYS_STAT /**/ + +/* I_SYS_TIMES: + * This symbol, if defined, indicates to the C program that it should + * include . + */ +#define I_SYS_TIMES /**/ + +/* I_SYS_TYPES: + * This symbol, if defined, indicates to the C program that it should + * include . + */ +#define I_SYS_TYPES /**/ + +/* I_SYS_UN: + * This symbol, if defined, indicates to the C program that it should + * include to get UNIX domain socket definitions. + */ +#define I_SYS_UN /**/ + +/* I_SYS_WAIT: + * This symbol, if defined, indicates to the C program that it should + * include . + */ +#define I_SYS_WAIT /**/ + +/* I_TERMIO: + * This symbol, if defined, indicates that the program should include + * rather than . There are also differences in + * the ioctl() calls that depend on the value of this symbol. + */ +/* I_TERMIOS: + * This symbol, if defined, indicates that the program should include + * the POSIX termios.h rather than sgtty.h or termio.h. + * There are also differences in the ioctl() calls that depend on the + * value of this symbol. + */ +/* I_SGTTY: + * This symbol, if defined, indicates that the program should include + * rather than . There are also differences in + * the ioctl() calls that depend on the value of this symbol. + */ +/*#define I_TERMIO / **/ +#define I_TERMIOS /**/ +/*#define I_SGTTY / **/ + +/* I_UNISTD: + * This symbol, if defined, indicates to the C program that it should + * include . + */ +#define I_UNISTD /**/ + +/* I_UTIME: + * This symbol, if defined, indicates to the C program that it should + * include . + */ +#define I_UTIME /**/ + +/* I_VALUES: + * This symbol, if defined, indicates to the C program that it should + * include to get definition of symbols like MINFLOAT or + * MAXLONG, i.e. machine dependant limitations. Probably, you + * should use instead, if it is available. + */ +#define I_VALUES /**/ + +/* I_VFORK: + * This symbol, if defined, indicates to the C program that it should + * include vfork.h. + */ +/*#define I_VFORK / **/ + +/* INTSIZE: + * This symbol contains the value of sizeof(int) so that the C + * preprocessor can make decisions based on it. + */ +/* LONGSIZE: + * This symbol contains the value of sizeof(long) so that the C + * preprocessor can make decisions based on it. + */ +/* SHORTSIZE: + * This symbol contains the value of sizeof(short) so that the C + * preprocessor can make decisions based on it. + */ +#define INTSIZE 4 /**/ +#define LONGSIZE 4 /**/ +#define SHORTSIZE 2 /**/ + +/* MULTIARCH: + * This symbol, if defined, signifies that the build + * process will produce some binary files that are going to be + * used in a cross-platform environment. This is the case for + * example with the NeXT "fat" binaries that contain executables + * for several CPUs. + */ +/*#define MULTIARCH / **/ + +/* HAS_QUAD: + * This symbol, if defined, tells that there's a 64-bit integer type, + * Quad_t, and its unsigned counterpar, Uquad_t. QUADKIND will be one + * of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, or QUAD_IS_INT64_T. + */ +#define HAS_QUAD /**/ +#ifdef HAS_QUAD +# define Quad_t long /**/ +# define Uquad_t unsigned long /**/ +# define QUADKIND 3 /**/ +# define QUAD_IS_INT 1 +# define QUAD_IS_LONG 2 +# define QUAD_IS_LONG_LONG 3 +# define QUAD_IS_INT64_T 4 +#endif + +/* OSNAME: + * This symbol contains the name of the operating system, as determined + * by Configure. You shouldn't rely on it too much; the specific + * feature tests from Configure are generally more reliable. + */ +/* OSVERS: + * This symbol contains the version of the operating system, as determined + * by Configure. You shouldn't rely on it too much; the specific + * feature tests from Configure are generally more reliable. + */ +#define OSNAME "linux" /**/ +#define OSVERS "2.6.30.5" /**/ + +/* ARCHLIB: + * This variable, if defined, holds the name of the directory in + * which the user wants to put architecture-dependent public + * library files for perl5. It is most often a local directory + * such as /usr/local/lib. Programs using this variable must be + * prepared to deal with filename expansion. If ARCHLIB is the + * same as PRIVLIB, it is not defined, since presumably the + * program already searches PRIVLIB. + */ +/* ARCHLIB_EXP: + * This symbol contains the ~name expanded version of ARCHLIB, to be used + * in programs that are not prepared to deal with ~ expansion at run-time. + */ +#define ARCHLIB "/usr/lib/perl5/5.10.0/powerpc-linux" /**/ +#define ARCHLIB_EXP "/usr/lib/perl5/5.10.0/powerpc-linux" /**/ + +/* ARCHNAME: + * This symbol holds a string representing the architecture name. + * It may be used to construct an architecture-dependant pathname + * where library files may be held under a private library, for + * instance. + */ +#define ARCHNAME "powerpc-linux" /**/ + +/* BIN: + * This symbol holds the path of the bin directory where the package will + * be installed. Program must be prepared to deal with ~name substitution. + */ +/* BIN_EXP: + * This symbol is the filename expanded version of the BIN symbol, for + * programs that do not want to deal with that at run-time. + */ +/* PERL_RELOCATABLE_INC: + * This symbol, if defined, indicates that we'd like to relocate entries + * in @INC at run time based on the location of the perl binary. + */ +#define BIN "/usr/bin" /**/ +#define BIN_EXP "/usr/bin" /**/ +#define PERL_RELOCATABLE_INC "undef" /**/ + +/* CAT2: + * This macro concatenates 2 tokens together. + */ +/* STRINGIFY: + * This macro surrounds its token with double quotes. + */ +#if 42 == 1 +#define CAT2(a,b) a/**/b +#define STRINGIFY(a) "a" + /* If you can get stringification with catify, tell me how! */ +#endif +#if 42 == 42 +#define PeRl_CaTiFy(a, b) a ## b +#define PeRl_StGiFy(a) #a +/* the additional level of indirection enables these macros to be + * used as arguments to other macros. See K&R 2nd ed., page 231. */ +#define CAT2(a,b) PeRl_CaTiFy(a,b) +#define StGiFy(a) PeRl_StGiFy(a) +#define STRINGIFY(a) PeRl_StGiFy(a) +#endif +#if 42 != 1 && 42 != 42 +# include "Bletch: How does this C preprocessor concatenate tokens?" +#endif + +/* CPPSTDIN: + * This symbol contains the first part of the string which will invoke + * the C preprocessor on the standard input and produce to standard + * output. Typical value of "cc -E" or "/lib/cpp", but it can also + * call a wrapper. See CPPRUN. + */ +/* CPPMINUS: + * This symbol contains the second part of the string which will invoke + * the C preprocessor on the standard input and produce to standard + * output. This symbol will have the value "-" if CPPSTDIN needs a minus + * to specify standard input, otherwise the value is "". + */ +/* CPPRUN: + * This symbol contains the string which will invoke a C preprocessor on + * the standard input and produce to standard output. It needs to end + * with CPPLAST, after all other preprocessor flags have been specified. + * The main difference with CPPSTDIN is that this program will never be a + * pointer to a shell wrapper, i.e. it will be empty if no preprocessor is + * available directly to the user. Note that it may well be different from + * the preprocessor used to compile the C program. + */ +/* CPPLAST: + * This symbol is intended to be used along with CPPRUN in the same manner + * symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "". + */ +#define CPPSTDIN "gcc -E" +#define CPPMINUS "-" +#define CPPRUN "gcc -E" +#define CPPLAST "-" + +/* HAS_ACCESS: + * This manifest constant lets the C program know that the access() + * system call is available to check for accessibility using real UID/GID. + * (always present on UNIX.) + */ +#define HAS_ACCESS /**/ + +/* HAS_ACCESSX: + * This symbol, if defined, indicates that the accessx routine is + * available to do extended access checks. + */ +/*#define HAS_ACCESSX / **/ + +/* HAS_ASCTIME_R: + * This symbol, if defined, indicates that the asctime_r routine + * is available to asctime re-entrantly. + */ +/* ASCTIME_R_PROTO: + * This symbol encodes the prototype of asctime_r. + * It is zero if d_asctime_r is undef, and one of the + * REENTRANT_PROTO_T_ABC macros of reentr.h if d_asctime_r + * is defined. + */ +/*#define HAS_ASCTIME_R / **/ +#define ASCTIME_R_PROTO 0 /**/ + +/* HASATTRIBUTE_FORMAT: + * Can we handle GCC attribute for checking printf-style formats + */ +/* PRINTF_FORMAT_NULL_OK: + * Allows __printf__ format to be null when checking printf-style + */ +/* HASATTRIBUTE_MALLOC: + * Can we handle GCC attribute for malloc-style functions. + */ +/* HASATTRIBUTE_NONNULL: + * Can we handle GCC attribute for nonnull function parms. + */ +/* HASATTRIBUTE_NORETURN: + * Can we handle GCC attribute for functions that do not return + */ +/* HASATTRIBUTE_PURE: + * Can we handle GCC attribute for pure functions + */ +/* HASATTRIBUTE_UNUSED: + * Can we handle GCC attribute for unused variables and arguments + */ +/* HASATTRIBUTE_WARN_UNUSED_RESULT: + * Can we handle GCC attribute for warning on unused results + */ +#define HASATTRIBUTE_FORMAT /**/ +/*#define PRINTF_FORMAT_NULL_OK / **/ +#define HASATTRIBUTE_NORETURN /**/ +#define HASATTRIBUTE_MALLOC /**/ +#define HASATTRIBUTE_NONNULL /**/ +#define HASATTRIBUTE_PURE /**/ +#define HASATTRIBUTE_UNUSED /**/ +#define HASATTRIBUTE_WARN_UNUSED_RESULT /**/ + +/* HASCONST: + * This symbol, if defined, indicates that this C compiler knows about + * the const type. There is no need to actually test for that symbol + * within your programs. The mere use of the "const" keyword will + * trigger the necessary tests. + */ +#define HASCONST /**/ +#ifndef HASCONST +#define const +#endif + +/* HAS_CRYPT: + * This symbol, if defined, indicates that the crypt routine is available + * to encrypt passwords and the like. + */ +/*#define HAS_CRYPT / **/ + +/* HAS_CRYPT_R: + * This symbol, if defined, indicates that the crypt_r routine + * is available to crypt re-entrantly. + */ +/* CRYPT_R_PROTO: + * This symbol encodes the prototype of crypt_r. + * It is zero if d_crypt_r is undef, and one of the + * REENTRANT_PROTO_T_ABC macros of reentr.h if d_crypt_r + * is defined. + */ +/*#define HAS_CRYPT_R / **/ +#define CRYPT_R_PROTO 0 /**/ + +/* HAS_CSH: + * This symbol, if defined, indicates that the C-shell exists. + */ +/* CSH: + * This symbol, if defined, contains the full pathname of csh. + */ +/*#define HAS_CSH / **/ +#ifdef HAS_CSH +#define CSH "csh" /**/ +#endif + +/* HAS_CTERMID_R: + * This symbol, if defined, indicates that the ctermid_r routine + * is available to ctermid re-entrantly. + */ +/* CTERMID_R_PROTO: + * This symbol encodes the prototype of ctermid_r. + * It is zero if d_ctermid_r is undef, and one of the + * REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctermid_r + * is defined. + */ +/*#define HAS_CTERMID_R / **/ +#define CTERMID_R_PROTO 0 /**/ + +/* HAS_CTIME_R: + * This symbol, if defined, indicates that the ctime_r routine + * is available to ctime re-entrantly. + */ +/* CTIME_R_PROTO: + * This symbol encodes the prototype of ctime_r. + * It is zero if d_ctime_r is undef, and one of the + * REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctime_r + * is defined. + */ +/*#define HAS_CTIME_R / **/ +#define CTIME_R_PROTO 0 /**/ + +/* SETUID_SCRIPTS_ARE_SECURE_NOW: + * This symbol, if defined, indicates that the bug that prevents + * setuid scripts from being secure is not present in this kernel. + */ +/* DOSUID: + * This symbol, if defined, indicates that the C program should + * check the script that it is executing for setuid/setgid bits, and + * attempt to emulate setuid/setgid on systems that have disabled + * setuid #! scripts because the kernel can't do it securely. + * It is up to the package designer to make sure that this emulation + * is done securely. Among other things, it should do an fstat on + * the script it just opened to make sure it really is a setuid/setgid + * script, it should make sure the arguments passed correspond exactly + * to the argument on the #! line, and it should not trust any + * subprocesses to which it must pass the filename rather than the + * file descriptor of the script to be executed. + */ +/*#define SETUID_SCRIPTS_ARE_SECURE_NOW / **/ +/*#define DOSUID / **/ + +/* HAS_DRAND48_R: + * This symbol, if defined, indicates that the drand48_r routine + * is available to drand48 re-entrantly. + */ +/* DRAND48_R_PROTO: + * This symbol encodes the prototype of drand48_r. + * It is zero if d_drand48_r is undef, and one of the + * REENTRANT_PROTO_T_ABC macros of reentr.h if d_drand48_r + * is defined. + */ +/*#define HAS_DRAND48_R / **/ +#define DRAND48_R_PROTO 0 /**/ + +/* HAS_DRAND48_PROTO: + * This symbol, if defined, indicates that the system provides + * a prototype for the drand48() function. Otherwise, it is up + * to the program to supply one. A good guess is + * extern double drand48(void); + */ +#define HAS_DRAND48_PROTO /**/ + +/* HAS_EACCESS: + * This symbol, if defined, indicates that the eaccess routine is + * available to do extended access checks. + */ +/*#define HAS_EACCESS / **/ + +/* HAS_ENDGRENT: + * This symbol, if defined, indicates that the getgrent routine is + * available for finalizing sequential access of the group database. + */ +#define HAS_ENDGRENT /**/ + +/* HAS_ENDGRENT_R: + * This symbol, if defined, indicates that the endgrent_r routine + * is available to endgrent re-entrantly. + */ +/* ENDGRENT_R_PROTO: + * This symbol encodes the prototype of endgrent_r. + * It is zero if d_endgrent_r is undef, and one of the + * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endgrent_r + * is defined. + */ +/*#define HAS_ENDGRENT_R / **/ +#define ENDGRENT_R_PROTO 0 /**/ + +/* HAS_ENDHOSTENT: + * This symbol, if defined, indicates that the endhostent() routine is + * available to close whatever was being used for host queries. + */ +#define HAS_ENDHOSTENT /**/ + +/* HAS_ENDHOSTENT_R: + * This symbol, if defined, indicates that the endhostent_r routine + * is available to endhostent re-entrantly. + */ +/* ENDHOSTENT_R_PROTO: + * This symbol encodes the prototype of endhostent_r. + * It is zero if d_endhostent_r is undef, and one of the + * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endhostent_r + * is defined. + */ +/*#define HAS_ENDHOSTENT_R / **/ +#define ENDHOSTENT_R_PROTO 0 /**/ + +/* HAS_ENDNETENT: + * This symbol, if defined, indicates that the endnetent() routine is + * available to close whatever was being used for network queries. + */ +#define HAS_ENDNETENT /**/ + +/* HAS_ENDNETENT_R: + * This symbol, if defined, indicates that the endnetent_r routine + * is available to endnetent re-entrantly. + */ +/* ENDNETENT_R_PROTO: + * This symbol encodes the prototype of endnetent_r. + * It is zero if d_endnetent_r is undef, and one of the + * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endnetent_r + * is defined. + */ +/*#define HAS_ENDNETENT_R / **/ +#define ENDNETENT_R_PROTO 0 /**/ + +/* HAS_ENDPROTOENT: + * This symbol, if defined, indicates that the endprotoent() routine is + * available to close whatever was being used for protocol queries. + */ +#define HAS_ENDPROTOENT /**/ + +/* HAS_ENDPROTOENT_R: + * This symbol, if defined, indicates that the endprotoent_r routine + * is available to endprotoent re-entrantly. + */ +/* ENDPROTOENT_R_PROTO: + * This symbol encodes the prototype of endprotoent_r. + * It is zero if d_endprotoent_r is undef, and one of the + * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endprotoent_r + * is defined. + */ +/*#define HAS_ENDPROTOENT_R / **/ +#define ENDPROTOENT_R_PROTO 0 /**/ + +/* HAS_ENDPWENT: + * This symbol, if defined, indicates that the getgrent routine is + * available for finalizing sequential access of the passwd database. + */ +#define HAS_ENDPWENT /**/ + +/* HAS_ENDPWENT_R: + * This symbol, if defined, indicates that the endpwent_r routine + * is available to endpwent re-entrantly. + */ +/* ENDPWENT_R_PROTO: + * This symbol encodes the prototype of endpwent_r. + * It is zero if d_endpwent_r is undef, and one of the + * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endpwent_r + * is defined. + */ +/*#define HAS_ENDPWENT_R / **/ +#define ENDPWENT_R_PROTO 0 /**/ + +/* HAS_ENDSERVENT: + * This symbol, if defined, indicates that the endservent() routine is + * available to close whatever was being used for service queries. + */ +#define HAS_ENDSERVENT /**/ + +/* HAS_ENDSERVENT_R: + * This symbol, if defined, indicates that the endservent_r routine + * is available to endservent re-entrantly. + */ +/* ENDSERVENT_R_PROTO: + * This symbol encodes the prototype of endservent_r. + * It is zero if d_endservent_r is undef, and one of the + * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endservent_r + * is defined. + */ +/*#define HAS_ENDSERVENT_R / **/ +#define ENDSERVENT_R_PROTO 0 /**/ + +/* FLEXFILENAMES: + * This symbol, if defined, indicates that the system supports filenames + * longer than 14 characters. + */ +#define FLEXFILENAMES /**/ + +/* HAS_GETGRENT: + * This symbol, if defined, indicates that the getgrent routine is + * available for sequential access of the group database. + */ +#define HAS_GETGRENT /**/ + +/* HAS_GETGRENT_R: + * This symbol, if defined, indicates that the getgrent_r routine + * is available to getgrent re-entrantly. + */ +/* GETGRENT_R_PROTO: + * This symbol encodes the prototype of getgrent_r. + * It is zero if d_getgrent_r is undef, and one of the + * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrent_r + * is defined. + */ +/*#define HAS_GETGRENT_R / **/ +#define GETGRENT_R_PROTO 0 /**/ + +/* HAS_GETGRGID_R: + * This symbol, if defined, indicates that the getgrgid_r routine + * is available to getgrgid re-entrantly. + */ +/* GETGRGID_R_PROTO: + * This symbol encodes the prototype of getgrgid_r. + * It is zero if d_getgrgid_r is undef, and one of the + * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrgid_r + * is defined. + */ +/*#define HAS_GETGRGID_R / **/ +#define GETGRGID_R_PROTO 0 /**/ + +/* HAS_GETGRNAM_R: + * This symbol, if defined, indicates that the getgrnam_r routine + * is available to getgrnam re-entrantly. + */ +/* GETGRNAM_R_PROTO: + * This symbol encodes the prototype of getgrnam_r. + * It is zero if d_getgrnam_r is undef, and one of the + * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrnam_r + * is defined. + */ +/*#define HAS_GETGRNAM_R / **/ +#define GETGRNAM_R_PROTO 0 /**/ + +/* HAS_GETHOSTBYADDR: + * This symbol, if defined, indicates that the gethostbyaddr() routine is + * available to look up hosts by their IP addresses. + */ +#define HAS_GETHOSTBYADDR /**/ + +/* HAS_GETHOSTBYNAME: + * This symbol, if defined, indicates that the gethostbyname() routine is + * available to look up host names in some data base or other. + */ +#define HAS_GETHOSTBYNAME /**/ + +/* HAS_GETHOSTENT: + * This symbol, if defined, indicates that the gethostent() routine is + * available to look up host names in some data base or another. + */ +#define HAS_GETHOSTENT /**/ + +/* HAS_GETHOSTNAME: + * This symbol, if defined, indicates that the C program may use the + * gethostname() routine to derive the host name. See also HAS_UNAME + * and PHOSTNAME. + */ +/* HAS_UNAME: + * This symbol, if defined, indicates that the C program may use the + * uname() routine to derive the host name. See also HAS_GETHOSTNAME + * and PHOSTNAME. + */ +/* PHOSTNAME: + * This symbol, if defined, indicates the command to feed to the + * popen() routine to derive the host name. See also HAS_GETHOSTNAME + * and HAS_UNAME. Note that the command uses a fully qualified path, + * so that it is safe even if used by a process with super-user + * privileges. + */ +/* HAS_PHOSTNAME: + * This symbol, if defined, indicates that the C program may use the + * contents of PHOSTNAME as a command to feed to the popen() routine + * to derive the host name. + */ +#define HAS_GETHOSTNAME /**/ +#define HAS_UNAME /**/ +/*#define HAS_PHOSTNAME / **/ +#ifdef HAS_PHOSTNAME +#define PHOSTNAME "/bin/hostname" /* How to get the host name */ +#endif + +/* HAS_GETHOSTBYADDR_R: + * This symbol, if defined, indicates that the gethostbyaddr_r routine + * is available to gethostbyaddr re-entrantly. + */ +/* GETHOSTBYADDR_R_PROTO: + * This symbol encodes the prototype of gethostbyaddr_r. + * It is zero if d_gethostbyaddr_r is undef, and one of the + * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyaddr_r + * is defined. + */ +/*#define HAS_GETHOSTBYADDR_R / **/ +#define GETHOSTBYADDR_R_PROTO 0 /**/ + +/* HAS_GETHOSTBYNAME_R: + * This symbol, if defined, indicates that the gethostbyname_r routine + * is available to gethostbyname re-entrantly. + */ +/* GETHOSTBYNAME_R_PROTO: + * This symbol encodes the prototype of gethostbyname_r. + * It is zero if d_gethostbyname_r is undef, and one of the + * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyname_r + * is defined. + */ +/*#define HAS_GETHOSTBYNAME_R / **/ +#define