Subject: CVS commit: pkgsrc
To: None <pkgsrc-changes@netbsd.org>
From: Alistair G. Crooks <agc@netbsd.org>
List: pkgsrc-changes
Date: 09/04/2002 17:47:42
Module Name:	pkgsrc
Committed By:	agc
Date:		Wed Sep  4 14:47:42 UTC 2002

Modified Files:
	pkgsrc/audio/arts: Makefile
	pkgsrc/audio/kdemultimedia2: Makefile
	pkgsrc/audio/kdemultimedia3: Makefile
	pkgsrc/graphics/dx: Makefile
	pkgsrc/graphics/gimp-base: Makefile
	pkgsrc/graphics/kdegraphics2: Makefile
	pkgsrc/graphics/kdegraphics3: Makefile
	pkgsrc/misc/kdeutils2: Makefile
	pkgsrc/misc/kdeutils3: Makefile
	pkgsrc/misc/koffice: Makefile.common
	pkgsrc/mk: defs.Darwin.mk defs.Linux.mk defs.NetBSD.mk defs.SunOS.mk
	pkgsrc/www/ap-php4: Makefile
	pkgsrc/www/galeon: Makefile
	pkgsrc/www/php3: Makefile.module
	pkgsrc/www/php4: Makefile Makefile.module distinfo
	pkgsrc/www/php4/patches: patch-aa

Log Message:
Apply patches from Lubomir Sedlacik <salo@Xtrmntr.org> in PR 18115 to
generalise the linker flags used to export symbols by setting them on
a per-OS basis.

> many packages force -Wl,-export-dynamic which is not portable outside GNU ld
> and cause problems e.g. on Solaris.  some of these packages use if
> conditionals either only for NetBSD or except SunOS, but the state is not
> coherent and it may complicate later when support for new OS is added to
> pkgsrc (e.g. ongoing work on HP-UX support).
>
> jlam proposed the following framework in discussion on tech-pkg:
>
>   http://mail-index.netbsd.org/tech-pkg/2002/06/21/0009.html
>
> now, ${EXPORT_SYMBOLS_LDFLAGS} is used instead of directly defining
> -Wl,-export-dynamic which is set in appropriate defs.*.mk to reasonable
> values.  packages should be converted to this framework by:
>
> 1) replacing LDFLAGS+= -Wl,-export-dynamic and LIBS+= -export-dynamic with:
>
>    LDFLAGS+= ${EXPORT_SYMBOLS_LDFLAGS}
>
> 2) for use in patchfiles, add this variable to MAKE_ENV if needed:
>
>    MAKE_ENV+= EXPORT_SYMBOLS_LDFLAGS=${EXPORT_SYMBOLS_LDFLAGS}
>
> 3) replace occurances of -Wl,-export-dynamic and -export-dynamic in patch
>    files with:
>
>    $(EXPORT_SYMBOLS_LDFLAGS)


To generate a diff of this commit:
cvs rdiff -r1.7 -r1.8 pkgsrc/audio/arts/Makefile
cvs rdiff -r1.12 -r1.13 pkgsrc/audio/kdemultimedia2/Makefile
cvs rdiff -r1.4 -r1.5 pkgsrc/audio/kdemultimedia3/Makefile
cvs rdiff -r1.15 -r1.16 pkgsrc/graphics/dx/Makefile
cvs rdiff -r1.3 -r1.4 pkgsrc/graphics/gimp-base/Makefile
cvs rdiff -r1.8 -r1.9 pkgsrc/graphics/kdegraphics2/Makefile
cvs rdiff -r1.4 -r1.5 pkgsrc/graphics/kdegraphics3/Makefile
cvs rdiff -r1.10 -r1.11 pkgsrc/misc/kdeutils2/Makefile
cvs rdiff -r1.3 -r1.4 pkgsrc/misc/kdeutils3/Makefile
cvs rdiff -r1.1 -r1.2 pkgsrc/misc/koffice/Makefile.common
cvs rdiff -r1.27 -r1.28 pkgsrc/mk/defs.Darwin.mk pkgsrc/mk/defs.NetBSD.mk \
    pkgsrc/mk/defs.SunOS.mk
cvs rdiff -r1.29 -r1.30 pkgsrc/mk/defs.Linux.mk
cvs rdiff -r1.22 -r1.23 pkgsrc/www/ap-php4/Makefile
cvs rdiff -r1.34 -r1.35 pkgsrc/www/galeon/Makefile
cvs rdiff -r1.3 -r1.4 pkgsrc/www/php3/Makefile.module
cvs rdiff -r1.25 -r1.26 pkgsrc/www/php4/Makefile
cvs rdiff -r1.17 -r1.18 pkgsrc/www/php4/Makefile.module
cvs rdiff -r1.11 -r1.12 pkgsrc/www/php4/distinfo
cvs rdiff -r1.7 -r1.8 pkgsrc/www/php4/patches/patch-aa

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.