cb0e38446b
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)
94 lines
2.5 KiB
Makefile
94 lines
2.5 KiB
Makefile
# $NetBSD: defs.Linux.mk,v 1.30 2002/09/04 14:47:33 agc Exp $
|
|
#
|
|
# Variable definitions for the Linux operating system.
|
|
|
|
AWK?= /usr/bin/awk
|
|
BASENAME?= /bin/basename
|
|
CAT?= /bin/cat
|
|
CHMOD?= /bin/chmod
|
|
CHOWN?= /bin/chown
|
|
CHGRP?= /bin/chgrp
|
|
CMP?= cmp
|
|
CP?= /bin/cp
|
|
CUT?= /bin/cut
|
|
DC?= /usr/bin/dc
|
|
DIRNAME?= /usr/bin/dirname
|
|
ECHO?= /bin/echo
|
|
EGREP?= /bin/egrep
|
|
FALSE?= /bin/false
|
|
FILE_CMD?= /usr/bin/file
|
|
FIND?= /usr/bin/find
|
|
GMAKE?= /usr/bin/make
|
|
GREP?= /bin/grep
|
|
GTAR?= /bin/tar
|
|
GUNZIP_CMD?= /usr/bin/gunzip -f
|
|
GZCAT?= /bin/zcat
|
|
GZIP?= -9
|
|
GZIP_CMD?= /usr/bin/gzip -nf ${GZIP}
|
|
HEAD?= /usr/bin/head
|
|
ID?= /usr/bin/id
|
|
LDCONFIG?= /sbin/ldconfig
|
|
LN?= /bin/ln
|
|
LS?= /bin/ls
|
|
MKDIR?= /bin/mkdir -p
|
|
MTREE?= ${ZOULARISBASE}/sbin/mtree
|
|
MV?= /bin/mv
|
|
PATCH?= /usr/bin/patch
|
|
PAX?= ${ZOULARISBASE}/bin/pax
|
|
PERL5?= ${LOCALBASE}/bin/perl
|
|
PKGLOCALEDIR?= share
|
|
PS?= /bin/ps
|
|
RM?= /bin/rm
|
|
RMDIR?= /bin/rmdir
|
|
SED?= /bin/sed
|
|
SETENV?= /usr/bin/env
|
|
SH?= /bin/sh
|
|
SHLOCK= ${LOCALBASE}/bin/shlock
|
|
.if exists(/bin/sort)
|
|
SORT?= /bin/sort
|
|
.else
|
|
SORT?= /usr/bin/sort
|
|
.endif
|
|
SU?= /bin/su
|
|
TAIL?= /usr/bin/tail
|
|
TEST?= /usr/bin/test
|
|
TOUCH?= /bin/touch
|
|
TR?= /usr/bin/tr
|
|
TRUE?= /bin/true
|
|
TYPE?= type
|
|
WC?= /usr/bin/wc
|
|
XARGS?= /usr/bin/xargs -r
|
|
|
|
CPP_PRECOMP_FLAGS?= # unset
|
|
DEF_UMASK?= 022
|
|
DEFAULT_SERIAL_DEVICE?= /dev/null
|
|
EXPORT_SYMBOLS_LDFLAGS?= # Don't add symbols to the dynamic symbol table
|
|
GROUPADD?= /usr/sbin/groupadd
|
|
MOTIF_TYPE_DEFAULT?= openmotif # default 2.0 compatible libs type
|
|
MOTIF12_TYPE_DEFAULT?= lesstif12 # default 1.2 compatible libs type
|
|
NOLOGIN?= ${FALSE}
|
|
PKG_TOOLS_BIN?= ${ZOULARISBASE}/sbin
|
|
ROOT_CMD?= ${SU} - root -c
|
|
ROOT_GROUP?= wheel
|
|
ROOT_USER?= root
|
|
SERIAL_DEVICES?= /dev/null
|
|
ULIMIT_CMD_datasize?= ulimit -d `ulimit -H -d`
|
|
ULIMIT_CMD_stacksize?= ulimit -s `ulimit -H -s`
|
|
ULIMIT_CMD_memorysize?= ulimit -m `ulimit -H -m`
|
|
USERADD?= /usr/sbin/useradd
|
|
ZOULARISBASE?= /usr/pkg
|
|
|
|
_DO_LIBINTL_CHECKS= no # perform checks for valid libintl
|
|
_DO_SHLIB_CHECKS= no # on installation, fixup PLIST for shared libs
|
|
_IMAKE_MAKE= ${MAKE} # program which gets invoked by imake
|
|
_OPSYS_HAS_GMAKE= yes # GNU make is standard
|
|
_OPSYS_HAS_MANZ= no # no MANZ for gzipping of man pages
|
|
_OPSYS_HAS_OSSAUDIO= no # libossaudio is available
|
|
_PATCH_BACKUP_ARG= -b -V simple -z # switch to patch(1) for backup suffix
|
|
_PREFORMATTED_MAN_DIR= cat # directory where catman pages are
|
|
_USE_RPATH= yes # add rpath to LDFLAGS
|
|
|
|
.if !defined(DEBUG_FLAGS)
|
|
_STRIPFLAG_CC?= -s # cc(1) option to strip
|
|
_STRIPFLAG_INSTALL?= -s # install(1) option to strip
|
|
.endif
|