Fix solaris build for icu, namely problems in general with CFLAGS/CXXFLAGS

from typos in configure and acinclude.m4 to needing to add the flags to
properly generate dependency files with gcc.
This commit is contained in:
richard 2013-12-04 21:02:23 +00:00
parent 16bc28df13
commit f73fc21c31
5 changed files with 73 additions and 7 deletions

View file

@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.86 2013/10/19 08:47:36 adam Exp $
# $NetBSD: Makefile,v 1.87 2013/12/04 21:02:23 richard Exp $
DISTNAME= icu4c-52_1-src
PKGNAME= ${DISTNAME:S/4c//:S/-src//:S/_/./g}
@ -42,7 +42,6 @@ PLIST_SUBST+= MH_NAME=mh-solaris
BUILDLINK_TRANSFORM+= rm:-D__STDC__=0
. endif
BUILDLINK_TRANSFORM+= rm:-ansi
CFLAGS.SunOS+= -std=c99
.elif ${OPSYS} == "IRIX"
PLIST_SUBST+= MH_NAME=mh-irix
.elif ${OPSYS} == "Darwin"

View file

@ -1,4 +1,4 @@
$NetBSD: distinfo,v 1.42 2013/12/03 21:16:06 bsiegert Exp $
$NetBSD: distinfo,v 1.43 2013/12/04 21:02:23 richard Exp $
SHA1 (icu4c-52_1-src.tgz) = 6de440b71668f1a65a9344cdaf7a437291416781
RMD160 (icu4c-52_1-src.tgz) = cbfbb18c3991ba55ebb50c607d5208cbfeb9fce3
@ -6,6 +6,7 @@ Size (icu4c-52_1-src.tgz) = 23875368 bytes
SHA1 (patch-aa) = fcbebb03f4a48294faeebd600fee989cab351230
SHA1 (patch-ab) = 32f0e4c241535e37e4cad9b871ed3d36b4184199
SHA1 (patch-ac) = e7cee161315321d2580074054d87714b55319886
SHA1 (patch-acinclude.m4) = 40ddfb09cbc951928296c35e8a4303cf7fbe7e17
SHA1 (patch-ad) = 8189e81e9c624e3b7a42f9af65a4b2f334747284
SHA1 (patch-af) = dcfbaf16844292a9ae57536ae2fb62fd1659d067
SHA1 (patch-common_Makefile.in) = 20fa472bd0e5e5fac15153774a58a8ce034d1996
@ -14,7 +15,8 @@ SHA1 (patch-common_unicode_platform.h) = 82786dff790782eb07cdc527061de33e771ec63
SHA1 (patch-common_uposixdefs.h) = abe1989ea4312702e5d0172b662409957b3e2d91
SHA1 (patch-config_icu-config-bottom) = 168b89ee9180d4ae545125866ee91eb004010501
SHA1 (patch-config_mh-cygwin) = e3aa7a926244b448ce12ab2f89156348a02c0659
SHA1 (patch-configure) = 05998976e3fb37a75d47476d3e8409794deccd31
SHA1 (patch-config_mh-solaris-gcc) = f81fec8f0d232b9125c7ea7ec334b78872aa2025
SHA1 (patch-configure) = f8151a2b51cdfd1d6a1d9d8cf316a52c5eae7050
SHA1 (patch-data_Makefile.in) = a5dcfe848a0444f0a1c036b7f4e343468bf3b3d1
SHA1 (patch-i18n_Makefile.in) = 935965c0418994271d844a4c908cd9e1fe8279fd
SHA1 (patch-io_Makefile.in) = f5f5eabb31ea7120130d13c397fab1feddd30447

View file

@ -0,0 +1,26 @@
$NetBSD: patch-acinclude.m4,v 1.1 2013/12/04 21:02:23 richard Exp $
Solaris seems to need -std=c99 with recent pkgsrc so keep it
and at the same time fix a typo involving CXXFLAGS.
--- acinclude.m4.orig 2013-10-04 20:54:58.000000000 +0000
+++ acinclude.m4
@@ -262,7 +262,7 @@ AC_DEFUN([AC_CHECK_64BIT_LIBS],
if test "$CAN_BUILD_64" != yes; then
# Nope. back out changes.
CFLAGS="${CFLAGS_OLD}"
- CXXFLAGS="${CFLAGS_OLD}"
+ CXXFLAGS="${CXXFLAGS_OLD}"
# 2. try xarch=v9 [deprecated]
## TODO: cross compile: the following won't work.
SPARCV9=`isainfo -n 2>&1 | grep sparcv9`
@@ -457,9 +457,6 @@ AC_DEFUN([AC_CHECK_STRICT_COMPILE],
if test "$GCC" = yes
then
case "${host}" in
- *-*-solaris*)
- # Don't use -std=c99 option on Solaris/GCC
- ;;
*)
# Do not use -ansi. It limits us to C90, and it breaks some platforms.
# We use -std=c99 to disable the gnu99 defaults and its associated warnings

View file

@ -0,0 +1,18 @@
$NetBSD: patch-config_mh-solaris-gcc,v 1.1 2013/12/04 21:02:23 richard Exp $
sys/feature_tests.h needs hints found in CFLAGS/CXXFLAGS while
generating depency files.
--- config/mh-solaris-gcc.orig 2013-10-04 20:50:00.000000000 +0000
+++ config/mh-solaris-gcc
@@ -9,8 +9,8 @@ SHAREDLIBCXXFLAGS = -fPIC
SHAREDLIBCPPFLAGS = -DPIC
## Commands to generate dependency files
-GEN_DEPS.c= $(CC) -E -MM $(DEFS) $(CPPFLAGS)
-GEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS)
+GEN_DEPS.c= $(CC) -E -MM $(DEFS) $(CPPFLAGS) $(CFLAGS)
+GEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS) $(CXXFLAGS)
## These are the library specific LDFLAGS
LDFLAGSICUDT=-nodefaultlibs -nostdlib

View file

@ -1,10 +1,31 @@
$NetBSD: patch-configure,v 1.1 2013/10/19 08:47:36 adam Exp $
$NetBSD: patch-configure,v 1.2 2013/12/04 21:02:23 richard Exp $
Portability fix.
Solaris seems to need -std=c99 with recent pkgsrc so keep it
and at the same time fix a typo involving CXXFLAGS.
--- configure.orig 2013-10-19 08:15:50.000000000 +0000
--- configure.orig 2013-10-04 20:54:58.000000000 +0000
+++ configure
@@ -7442,13 +7442,13 @@ fi
@@ -4083,9 +4083,6 @@ $as_echo "$ac_use_strict_options" >&6; }
if test "$GCC" = yes
then
case "${host}" in
- *-*-solaris*)
- # Don't use -std=c99 option on Solaris/GCC
- ;;
*)
# Do not use -ansi. It limits us to C90, and it breaks some platforms.
# We use -std=c99 to disable the gnu99 defaults and its associated warnings
@@ -4578,7 +4575,7 @@ fi
if test "$CAN_BUILD_64" != yes; then
# Nope. back out changes.
CFLAGS="${CFLAGS_OLD}"
- CXXFLAGS="${CFLAGS_OLD}"
+ CXXFLAGS="${CXXFLAGS_OLD}"
# 2. try xarch=v9 [deprecated]
## TODO: cross compile: the following won't work.
SPARCV9=`isainfo -n 2>&1 | grep sparcv9`
@@ -7442,13 +7439,13 @@ fi
# Now that we're done using CPPFLAGS etc. for tests, we can change it
# for build.