Tue Jan 4 09:53:31 2011 UTC ()
Removed _INCOMPAT_ICONV.

The problem is Darwin's libiconv does not have symbols for libiconv_<name>
(e.g. libiconv_open), but iconv_<name> (e.g. iconv_open).
BUT when there's pkgsrc/converters/libiconv installed instead, it doesn't
have symbols for iconv_<name>, but libiconv_<name>.
Some packages auto-configure looks for libiconv_open (like glib2), others
look for iconv_open (like proftpd), and there's a conflict.
The solution is to replace libiconv_open with iconv_open with SUBST framework.


(adam)
diff -r1.44 -r1.45 pkgsrc/mk/platform/Darwin.mk

cvs diff -r1.44 -r1.45 pkgsrc/mk/platform/Darwin.mk (switch to unified diff)

--- pkgsrc/mk/platform/Darwin.mk 2010/12/22 20:43:45 1.44
+++ pkgsrc/mk/platform/Darwin.mk 2011/01/04 09:53:31 1.45
@@ -1,134 +1,130 @@ @@ -1,134 +1,130 @@
1# $NetBSD: Darwin.mk,v 1.44 2010/12/22 20:43:45 abs Exp $ 1# $NetBSD: Darwin.mk,v 1.45 2011/01/04 09:53:31 adam Exp $
2# 2#
3# Variable definitions for the Darwin operating system. 3# Variable definitions for the Darwin operating system.
4 4
5# OS, Kernel, Xcode Version 5# OS, Kernel, Xcode Version
6# 6#
7# Codename OS Kernel Xcode 7# Codename OS Kernel Xcode
8# Cheetah 10.0.x 1.3.1 8# Cheetah 10.0.x 1.3.1
9# Puma 10.1 1.4.1 9# Puma 10.1 1.4.1
10# 10.1.x 5.x.y 10# 10.1.x 5.x.y
11# Jaguar 10.2.x 6.x.y 11# Jaguar 10.2.x 6.x.y
12# Panther 10.3.x 7.x.y 12# Panther 10.3.x 7.x.y
13# Tiger 10.4.x 8.x.y 2.x (gcc 4.0, 4.0.1 from 2.2) 13# Tiger 10.4.x 8.x.y 2.x (gcc 4.0, 4.0.1 from 2.2)
14# Leopard 10.5.x 9.x.y 3.x (gcc 4.0.1, 4.0.1 and 4.2.1 from 3.1) 14# Leopard 10.5.x 9.x.y 3.x (gcc 4.0.1, 4.0.1 and 4.2.1 from 3.1)
15# Snow Leopard 10.6.x 10.x.y 3.2+ (gcc 4.0.1 and 4.2.1) 15# Snow Leopard 10.6.x 10.x.y 3.2+ (gcc 4.0.1 and 4.2.1)
16 16
17# Tiger (and earlier) use Xfree 4.4.0 (and earlier) 17# Tiger (and earlier) use Xfree 4.4.0 (and earlier)
18.if ! empty(MACHINE_PLATFORM:MDarwin-[0-8].*-*) 18.if ! empty(MACHINE_PLATFORM:MDarwin-[0-8].*-*)
19X11_TYPE?=modular 19X11_TYPE?=modular
20.endif 20.endif
21 21
22.if !defined(CPP) || ${CPP} == "cpp" 22.if !defined(CPP) || ${CPP} == "cpp"
23CPP= ${CC} -E ${CPP_PRECOMP_FLAGS} 23CPP= ${CC} -E ${CPP_PRECOMP_FLAGS}
24.endif 24.endif
25.if empty(MACHINE_PLATFORM:MDarwin-[0-8].*-*) 25.if empty(MACHINE_PLATFORM:MDarwin-[0-8].*-*)
26ECHO_N?= /bin/echo -n 26ECHO_N?= /bin/echo -n
27.else 27.else
28ECHO_N?= ${ECHO} -n 28ECHO_N?= ${ECHO} -n
29.endif 29.endif
30LDD?= /usr/bin/otool -L 30LDD?= /usr/bin/otool -L
31IMAKE_MAKE?= ${MAKE} # program which gets invoked by imake 31IMAKE_MAKE?= ${MAKE} # program which gets invoked by imake
32PKGLOCALEDIR?= share 32PKGLOCALEDIR?= share
33PS?= /bin/ps 33PS?= /bin/ps
34# XXX: default from defaults/mk.conf. Verify/correct for this platform 34# XXX: default from defaults/mk.conf. Verify/correct for this platform
35# and remove this comment. 35# and remove this comment.
36SU?= /usr/bin/su 36SU?= /usr/bin/su
37TYPE?= type # Shell builtin 37TYPE?= type # Shell builtin
38IMAKEOPTS+= -DBuildHtmlManPages=NO 38IMAKEOPTS+= -DBuildHtmlManPages=NO
39.if defined(UNPRIVILEGED) && !empty(UNPRIVILEGED:M[Yy][Ee][Ss]) 39.if defined(UNPRIVILEGED) && !empty(UNPRIVILEGED:M[Yy][Ee][Ss])
40IMAKEOPTS+= -DInstallFlags=-c # do not set user or group 40IMAKEOPTS+= -DInstallFlags=-c # do not set user or group
41.endif 41.endif
42 42
43.if !defined(PKGSRC_COMPILER) || !empty(PKGSRC_COMPILER:Mgcc) 43.if !defined(PKGSRC_COMPILER) || !empty(PKGSRC_COMPILER:Mgcc)
44# Use the GNU cpp, not the OS X cpp, don't look in "/usr/local/include" 44# Use the GNU cpp, not the OS X cpp, don't look in "/usr/local/include"
45# before "/usr/include". 45# before "/usr/include".
46CPP_PRECOMP_FLAGS?= -no-cpp-precomp -isystem /usr/include 46CPP_PRECOMP_FLAGS?= -no-cpp-precomp -isystem /usr/include
47# don't symlink to /usr/bin/gcc since the latter is a wrapper that tries 47# don't symlink to /usr/bin/gcc since the latter is a wrapper that tries
48# evoke the real (architecture-dependent) gcc binary in the same place 48# evoke the real (architecture-dependent) gcc binary in the same place
49# which fails when called via a symlink from a different directory 49# which fails when called via a symlink from a different directory
50COMPILER_USE_SYMLINKS?= no 50COMPILER_USE_SYMLINKS?= no
51.endif 51.endif
52DEF_UMASK?= 0022 52DEF_UMASK?= 0022
53DEFAULT_SERIAL_DEVICE?= /dev/null 53DEFAULT_SERIAL_DEVICE?= /dev/null
54EXPORT_SYMBOLS_LDFLAGS?= # Don't add symbols to the dynamic symbol table 54EXPORT_SYMBOLS_LDFLAGS?= # Don't add symbols to the dynamic symbol table
55MOTIF_TYPE_DEFAULT?= openmotif # default 2.0 compatible libs type 55MOTIF_TYPE_DEFAULT?= openmotif # default 2.0 compatible libs type
56NOLOGIN?= /usr/bin/false 56NOLOGIN?= /usr/bin/false
57PKG_TOOLS_BIN?= ${LOCALBASE}/sbin 57PKG_TOOLS_BIN?= ${LOCALBASE}/sbin
58ROOT_CMD?= /usr/bin/sudo ${SH} -c 58ROOT_CMD?= /usr/bin/sudo ${SH} -c
59ROOT_GROUP?= wheel 59ROOT_GROUP?= wheel
60ROOT_USER?= root 60ROOT_USER?= root
61SERIAL_DEVICES?= /dev/null 61SERIAL_DEVICES?= /dev/null
62ULIMIT_CMD_datasize?= ulimit -d `ulimit -H -d` 62ULIMIT_CMD_datasize?= ulimit -d `ulimit -H -d`
63ULIMIT_CMD_stacksize?= ulimit -s `ulimit -H -s` 63ULIMIT_CMD_stacksize?= ulimit -s `ulimit -H -s`
64ULIMIT_CMD_memorysize?= ulimit -m `ulimit -H -m` 64ULIMIT_CMD_memorysize?= ulimit -m `ulimit -H -m`
65 65
66GROUPADD?= ${LOCALBASE}/sbin/groupadd 66GROUPADD?= ${LOCALBASE}/sbin/groupadd
67USERADD?= ${LOCALBASE}/sbin/useradd 67USERADD?= ${LOCALBASE}/sbin/useradd
68_PKG_USER_HOME?= /var/empty # to match other system accounts 68_PKG_USER_HOME?= /var/empty # to match other system accounts
69_USER_DEPENDS= user>=20040801:../../sysutils/user_darwin 69_USER_DEPENDS= user>=20040801:../../sysutils/user_darwin
70 70
71# imake installs manpages in weird places 71# imake installs manpages in weird places
72# these values from /usr/X11R6/lib/X11/config/Imake.tmpl 72# these values from /usr/X11R6/lib/X11/config/Imake.tmpl
73IMAKE_MAN_SOURCE_PATH= man/man 73IMAKE_MAN_SOURCE_PATH= man/man
74IMAKE_MAN_SUFFIX= 1 74IMAKE_MAN_SUFFIX= 1
75IMAKE_LIBMAN_SUFFIX= 3 75IMAKE_LIBMAN_SUFFIX= 3
76IMAKE_FILEMAN_SUFFIX= 5 76IMAKE_FILEMAN_SUFFIX= 5
77IMAKE_GAMEMAN_SUFFIX= 6 77IMAKE_GAMEMAN_SUFFIX= 6
78IMAKE_MAN_DIR= ${IMAKE_MAN_SOURCE_PATH}1 78IMAKE_MAN_DIR= ${IMAKE_MAN_SOURCE_PATH}1
79IMAKE_LIBMAN_DIR= ${IMAKE_MAN_SOURCE_PATH}3 79IMAKE_LIBMAN_DIR= ${IMAKE_MAN_SOURCE_PATH}3
80IMAKE_FILEMAN_DIR= ${IMAKE_MAN_SOURCE_PATH}5 80IMAKE_FILEMAN_DIR= ${IMAKE_MAN_SOURCE_PATH}5
81IMAKE_GAMEMAN_DIR= ${IMAKE_MAN_SOURCE_PATH}6 81IMAKE_GAMEMAN_DIR= ${IMAKE_MAN_SOURCE_PATH}6
82IMAKE_MANNEWSUFFIX= ${IMAKE_MAN_SUFFIX} 82IMAKE_MANNEWSUFFIX= ${IMAKE_MAN_SUFFIX}
83IMAKE_MANINSTALL?= maninstall catinstall 83IMAKE_MANINSTALL?= maninstall catinstall
84 84
85_OPSYS_EMULDIR.darwin= # empty 85_OPSYS_EMULDIR.darwin= # empty
86 86
87.if ${OS_VERSION:R} >= 6 87.if ${OS_VERSION:R} >= 6
88_OPSYS_HAS_INET6= yes # IPv6 is standard 88_OPSYS_HAS_INET6= yes # IPv6 is standard
89.else 89.else
90_OPSYS_HAS_INET6= no # IPv6 is not standard 90_OPSYS_HAS_INET6= no # IPv6 is not standard
91.endif 91.endif
92_OPSYS_HAS_JAVA= yes # Java is standard 92_OPSYS_HAS_JAVA= yes # Java is standard
93_OPSYS_HAS_MANZ= yes # MANZ controls gzipping of man pages 93_OPSYS_HAS_MANZ= yes # MANZ controls gzipping of man pages
94_OPSYS_HAS_OSSAUDIO= no # libossaudio is available 94_OPSYS_HAS_OSSAUDIO= no # libossaudio is available
95_OPSYS_PERL_REQD= 5.8.0 # base version of perl required 95_OPSYS_PERL_REQD= 5.8.0 # base version of perl required
96_OPSYS_PTHREAD_AUTO= yes # -lpthread not needed for pthreads 96_OPSYS_PTHREAD_AUTO= yes # -lpthread not needed for pthreads
97_OPSYS_LINKER_RPATH_FLAG= -L # darwin has no rpath, use -L instead 97_OPSYS_LINKER_RPATH_FLAG= -L # darwin has no rpath, use -L instead
98_OPSYS_COMPILER_RPATH_FLAG= -L # compiler flag to pass rpaths to linker 98_OPSYS_COMPILER_RPATH_FLAG= -L # compiler flag to pass rpaths to linker
99_OPSYS_SHLIB_TYPE= dylib # shared lib type 99_OPSYS_SHLIB_TYPE= dylib # shared lib type
100_PATCH_CAN_BACKUP= yes # native patch(1) can make backups 100_PATCH_CAN_BACKUP= yes # native patch(1) can make backups
101_PATCH_BACKUP_ARG?= -V simple -b -z # switch to patch(1) for backup suffix 101_PATCH_BACKUP_ARG?= -V simple -b -z # switch to patch(1) for backup suffix
102_USE_RPATH= no # don't add rpath to LDFLAGS 102_USE_RPATH= no # don't add rpath to LDFLAGS
103 103
104# flags passed to the linker to extract all symbols from static archives. 104# flags passed to the linker to extract all symbols from static archives.
105# this is GNU ld. 105# this is GNU ld.
106_OPSYS_WHOLE_ARCHIVE_FLAG= -Wl,--whole-archive 106_OPSYS_WHOLE_ARCHIVE_FLAG= -Wl,--whole-archive
107_OPSYS_NO_WHOLE_ARCHIVE_FLAG= -Wl,--no-whole-archive 107_OPSYS_NO_WHOLE_ARCHIVE_FLAG= -Wl,--no-whole-archive
108 108
109_OPSYS_CAN_CHECK_SHLIBS= no # can't use readelf in check/bsd.check-vars.mk 109_OPSYS_CAN_CHECK_SHLIBS= no # can't use readelf in check/bsd.check-vars.mk
110 110
111# The x86_64 "iconv" library is incomplete, please look here for details: 
112# http://www.mail-archive.com/gtk-list@gnome.org/msg28747.html 
113_INCOMPAT_ICONV= Darwin-*-x86_64 
114 
115_STRIPFLAG_CC?= ${_INSTALL_UNSTRIPPED:D:U-Wl,-x} # cc(1) option to strip 111_STRIPFLAG_CC?= ${_INSTALL_UNSTRIPPED:D:U-Wl,-x} # cc(1) option to strip
116_STRIPFLAG_INSTALL?= ${_INSTALL_UNSTRIPPED:D:U-s} # install(1) option to strip 112_STRIPFLAG_INSTALL?= ${_INSTALL_UNSTRIPPED:D:U-s} # install(1) option to strip
117 113
118# check for maximum command line length and set it in configure's environment, 114# check for maximum command line length and set it in configure's environment,
119# to avoid a test required by the libtool script that takes forever. 115# to avoid a test required by the libtool script that takes forever.
120_OPSYS_MAX_CMDLEN_CMD= /usr/sbin/sysctl -n kern.argmax 116_OPSYS_MAX_CMDLEN_CMD= /usr/sbin/sysctl -n kern.argmax
121 117
122# Darwin 7.7.x has poll() in libc, but no poll.h. Try to help GNU 118# Darwin 7.7.x has poll() in libc, but no poll.h. Try to help GNU
123# configure packages that break because of this by pretending that 119# configure packages that break because of this by pretending that
124# there is no poll(). 120# there is no poll().
125.if defined(GNU_CONFIGURE) 121.if defined(GNU_CONFIGURE)
126. if !exists(/usr/include/poll.h) && !exists(/usr/include/sys/poll.h) 122. if !exists(/usr/include/poll.h) && !exists(/usr/include/sys/poll.h)
127CONFIGURE_ENV+= ac_cv_func_poll=no 123CONFIGURE_ENV+= ac_cv_func_poll=no
128. endif 124. endif
129.endif 125.endif
130 126
131# Use "/bin/ksh" for buildlink3 wrapper script to improve build performance. 127# Use "/bin/ksh" for buildlink3 wrapper script to improve build performance.
132.if empty(OS_VERSION:M[0-8].*) && exists(/bin/ksh) 128.if empty(OS_VERSION:M[0-8].*) && exists(/bin/ksh)
133WRAPPER_BIN_SH?= /bin/ksh 129WRAPPER_BIN_SH?= /bin/ksh
134.endif 130.endif