summaryrefslogtreecommitdiff
path: root/debian/patches/0006-Mystery-mostly-empty-dlldefs.h.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/0006-Mystery-mostly-empty-dlldefs.h.patch')
-rw-r--r--debian/patches/0006-Mystery-mostly-empty-dlldefs.h.patch72
1 files changed, 72 insertions, 0 deletions
diff --git a/debian/patches/0006-Mystery-mostly-empty-dlldefs.h.patch b/debian/patches/0006-Mystery-mostly-empty-dlldefs.h.patch
new file mode 100644
index 0000000..a844468
--- /dev/null
+++ b/debian/patches/0006-Mystery-mostly-empty-dlldefs.h.patch
@@ -0,0 +1,72 @@
+From: Igor Pashev <pashev.igor@gmail.com>
+Date: Sun, 24 Jun 2012 22:58:54 +0000
+Subject: Mystery: mostly empty dlldefs.h
+
+Without this generated file dlldefs.h does not define required types and
+function (e. g. Dllscan_t). This results in errors:
+
++ mamake -C lib/libdll -k strip=0 install
++ cc -D_BLD_DLL -fPIC -g -O2 -I. -I/var/tmp/ksh-93u+/src/lib/libdll -I/var/tmp/ksh-93u+/arch/sol11.i386/include/ast -D_PACKAGE_ast -D_BLD_dll -c /var/tmp/ksh-93u+/src/lib/libdll/dllplug.c
+/var/tmp/ksh-93u+/src/lib/libdll/dllplug.c: In function 'dllplugin':
+/var/tmp/ksh-93u+/src/lib/libdll/dllplug.c:41:2: error: unknown type name 'Dllscan_t'
+/var/tmp/ksh-93u+/src/lib/libdll/dllplug.c:42:2: error: unknown type name 'Dllent_t'
+/var/tmp/ksh-93u+/src/lib/libdll/dllplug.c:47:11: warning: assignment makes pointer from integer without a cast [enabled by default]
+/var/tmp/ksh-93u+/src/lib/libdll/dllplug.c:49:15: warning: assignment makes pointer from integer without a cast [enabled by default]
+/var/tmp/ksh-93u+/src/lib/libdll/dllplug.c:55:26: error: request for member 'path' in something not a structure or union
+/var/tmp/ksh-93u+/src/lib/libdll/dllplug.c:55:40: error: 'RTLD_GLOBAL' undeclared (first use in this function)
+/var/tmp/ksh-93u+/src/lib/libdll/dllplug.c:55:40: note: each undeclared identifier is reported only once for each function it appears in
+/var/tmp/ksh-93u+/src/lib/libdll/dllplug.c:55:52: error: 'RTLD_PARENT' undeclared (first use in this function)
+/var/tmp/ksh-93u+/src/lib/libdll/dllplug.c:57:28: error: request for member 'path' in something not a structure or union
+/var/tmp/ksh-93u+/src/lib/libdll/dllplug.c:65:24: error: request for member 'path' in something not a structure or union
+/var/tmp/ksh-93u+/src/lib/libdll/dllplug.c:93:56: error: request for member 'path' in something not a structure or union
+
+When running tests:
++ mamake -C lib/libdll -k strip=0 install
++ set -
++ iffe -v -c cc -D_BLD_DLL -fPIC -g -O2 ref -L. -L/var/tmp/ksh-93u+/arch/sol11.i386/lib -I/var/tmp/ksh-93u+/arch/sol11.i386/include/ast -I/var/tmp/ksh-93u+/arch/sol11.i386/include /var/tmp/ksh-93u+/arch/sol11.i386/lib/libast.a -liconv : run /var/tmp/ksh-93u+/src/lib/libdll/features/dll
+iffe: test: is sys/types.h a header ... yes
+iffe: test: is /var/tmp/ksh-93u+/arch/sol11.i386/lib/libast.a a library ... yes
+iffe: test: is -liconv a library ... yes
+iffe: test: is dl.h a header ... no
+iffe: test: is dlfcn.h a header ... yes
+iffe: test: is dll.h a header ... no
+iffe: test: is rld_interface.h a header ... no
+iffe: test: is mach-o/dyld.h a header ... no
+iffe: test: is sys/ldr.h a header ... no
+iffe: test: is -ldl a library ... yes
+iffe: test: is dlopen a library function ... yes
+iffe: test: is dllload a library function ... no
+iffe: test: is loadbind a library function ... no
+iffe: test: is shl_load a library function ... no
+iffe: test: link{ ... }end ... no
+iffe: test: run{ ... }end ... yes
+iffe: test: output{ ... }end ... no <<<----- HERE !!!
++ cmp -s FEATURE/dll dlldefs.h
++ rm -f dlldefs.h
++ silent test -d .
++ cp FEATURE/dll dlldefs.h
+
+Line marked "HERE !!!" must be 'yes'. This mean dlldefs.h will be
+populated with needed definitions.
+
+It is fixed by removing include directive for ast. I do not know why :-)
+
+One can use this command to investigate it (you need extend
+your PATH variable for iffe):
+---
+ src/lib/libdll/Mamfile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/lib/libdll/Mamfile b/src/lib/libdll/Mamfile
+index 198ac1e..4361ebb 100644
+--- a/src/lib/libdll/Mamfile
++++ b/src/lib/libdll/Mamfile
+@@ -167,7 +167,7 @@ make features/dll
+ done features/dll
+ bind -ldl dontcare
+ bind -last
+-exec - iffe -v -c '${CC} ${mam_cc_FLAGS} ${CCFLAGS} ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdl} ${mam_libast} : run features/dll
++exec - iffe -v -c '${CC} ${mam_cc_FLAGS} ${CCFLAGS} ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${INSTALLROOT}/include ${mam_libdl} ${mam_libast} : run features/dll
+ done FEATURE/dll generated
+ exec - cmp 2>/dev/null -s FEATURE/dll dlldefs.h || { rm -f dlldefs.h; silent test -d . || mkdir .; cp FEATURE/dll dlldefs.h; }
+ done dlldefs.h generated