summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2008-04-15 22:57:36 +0200
committerDan McGee <dan@archlinux.org>2008-04-15 22:57:36 +0200
commitc7a81c0b54c3b54e25978e9828c6dc91f113c19c (patch)
treed940e7d34e49d768eab0560870f94b3c0c23fc7d
parentd685d0220fdb16097252bcf851ada5cf8400da0e (diff)
downloadpacman-c7a81c0b54c3b54e25978e9828c6dc91f113c19c.tar.gz
pacman-c7a81c0b54c3b54e25978e9828c6dc91f113c19c.tar.xz
More non-Linux build updates, mostly Darwin
Darwin's binary format does support symbols with differing visibilities, but it does not support the protected or internal visibilities- only hidden. For Darwin only, we should fall back to this visibility to prevent warnings from the compiler and because it is close enough for our library purposes. See http://gcc.gnu.org/viewcvs/*checkout*/trunk/gcc/config/darwin.c, search for the "darwin_assemble_visibility" function for more details. Also add pacman.static.exe to gitignore. Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r--configure.ac13
-rw-r--r--lib/libalpm/Makefile.am4
-rw-r--r--src/pacman/.gitignore1
3 files changed, 15 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac
index c695c57f..eabb4a4e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -172,13 +172,20 @@ GCC_VISIBILITY_CC
# Check if we have -fgnu89-inline flag
GCC_GNU89_INLINE_CC
-# Host-dependant flags
-case "${host}" in
- *-*-cygwin*)
+# Host-dependant definitions
+case "${host_os}" in
+ cygwin*)
+ host_os_cygwin=yes
CFLAGS="$CFLAGS -DCYGWIN"
;;
+ darwin*)
+ host_os_darwin=yes
+ ;;
esac
+AM_CONDITIONAL([CYGWIN], test "x$host_os_cygwin" = "xyes")
+AM_CONDITIONAL([DARWIN], test "x$host_os_darwin" = "xyes")
+
# Check for architecture, used in default makepkg.conf
# (Note single space left after CARCHFLAGS)
case "${host}" in
diff --git a/lib/libalpm/Makefile.am b/lib/libalpm/Makefile.am
index 00fc0b38..14d42a0c 100644
--- a/lib/libalpm/Makefile.am
+++ b/lib/libalpm/Makefile.am
@@ -10,8 +10,12 @@ DEFS = -DLOCALEDIR=\"@localedir@\" @DEFS@
AM_CFLAGS = -pedantic -D_GNU_SOURCE
if ENABLE_VISIBILITY_CC
+if DARWIN
+AM_CFLAGS += -fvisibility=hidden
+else
AM_CFLAGS += -fvisibility=internal
endif
+endif
if ENABLE_GNU89_INLINE_CC
AM_CFLAGS += -fgnu89-inline
endif
diff --git a/src/pacman/.gitignore b/src/pacman/.gitignore
index 61407057..c47851ce 100644
--- a/src/pacman/.gitignore
+++ b/src/pacman/.gitignore
@@ -3,3 +3,4 @@
pacman
pacman.exe
pacman.static
+pacman.static.exe