From c7a81c0b54c3b54e25978e9828c6dc91f113c19c Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Tue, 15 Apr 2008 15:57:36 -0500 Subject: [PATCH] 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 --- configure.ac | 13 ++++++++++--- lib/libalpm/Makefile.am | 4 ++++ src/pacman/.gitignore | 1 + 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