diff options
author | 2016-01-14 12:01:03 -0800 | |
---|---|---|
committer | 2016-01-17 10:04:48 -0800 | |
commit | 02f339e87ab1a864a967a7b7de05bd658f9dbedf (patch) | |
tree | 608a875d2daca5f90d9b8fe3988232c9b3a2bbfc | |
parent | d34bba6a8a9457264a94326db3fdf84e69000dc9 (diff) | |
download | paludis-02f339e87ab1a864a967a7b7de05bd658f9dbedf.tar.gz paludis-02f339e87ab1a864a967a7b7de05bd658f9dbedf.tar.xz |
build: unconditionally use visibility flags
Remove the last remnants of icc support as the current released versions do not
support C++11 and we intend to use clang as the alternate compiler. This cleans
up the compile flags to remove the now obsoleted definition
(-DPALUDIS_USE_VISIBILITY), the unnecessary compile time checks, and the
handling for ICC in the macros.
25 files changed, 32 insertions, 67 deletions
diff --git a/configure.ac b/configure.ac index dab26fcc0..68ce726c7 100644 --- a/configure.ac +++ b/configure.ac @@ -314,7 +314,6 @@ PALUDIS_CXXFLAGS_NO_WEXTRA= PALUDIS_CXXFLAGS_NO_WWRITE_STRINGS= PALUDIS_CXXFLAGS_NO_WMISSING_NORETURN= PALUDIS_CXXFLAGS_NO_STRICT_ALIASING= -PALUDIS_CXXFLAGS_VISIBILITY= AC_DEFUN([CHECK_CXXFLAG], [ save_CXXFLAGS=$CXXFLAGS @@ -389,6 +388,8 @@ if test x"$cxxflag_success" = x"no" ; then CHECK_CXXFLAG([-std=c++0x]) fi +CHECK_CXXFLAG([-fvisibility=hidden]) +CHECK_CXXFLAG([-fvisibility-inlines-hidden]) AC_SUBST([PALUDIS_CXXFLAGS]) AC_SUBST([PALUDIS_CXXFLAGS_NO_WOLD_STYLE_CAST]) @@ -447,31 +448,6 @@ dnl }}} CXXFLAGS="$save_CXXFLAGS" -dnl {{{ visibility support -AC_MSG_CHECKING([whether to enable visibility]) -AC_PREPROC_IFELSE([AC_LANG_SOURCE([ -#if ! defined(__GNUC__) || defined(__clang__) -# error no/broken visibility -#endif -])], - [AC_MSG_RESULT([yes]) - AC_MSG_CHECKING([for appropriate compiler visibility flags]) - old_PALUDIS_CXXFLAGS=$PALUDIS_CXXFLAGS - PALUDIS_CXXFLAGS= - CHECK_CXXFLAG([-fvisibility-inlines-hidden]) - CHECK_CXXFLAG([-fvisibility=hidden]) - AC_MSG_RESULT([$PALUDIS_CXXFLAGS]) - PALUDIS_CXXFLAGS_VISIBILITY="$PALUDIS_CXXFLAGS -DPALUDIS_ENABLE_VISIBILITY=1" - PALUDIS_CXXFLAGS=$old_PALUDIS_CXXFLAGS - PALUDIS_ENABLE_VISIBILITY=1 - ], - [AC_MSG_RESULT([no]) - PALUDIS_ENABLE_VISIBILITY=0 - ]) -AC_SUBST([PALUDIS_ENABLE_VISIBILITY]) -AC_SUBST([PALUDIS_CXXFLAGS_VISIBILITY]) -dnl }}} - dnl {{{ disabling strict aliasing for boost bindings AC_MSG_CHECKING([how to disable strict aliasing when using dodgy Boost libraries]) old_PALUDIS_CXXFLAGS=$PALUDIS_CXXFLAGS diff --git a/paludis/Makefile.am.m4 b/paludis/Makefile.am.m4 index 7fa008453..bfc6ecd42 100644 --- a/paludis/Makefile.am.m4 +++ b/paludis/Makefile.am.m4 @@ -50,7 +50,7 @@ ifelse(`$2', `testscript', `addtestscript(`$1')', `')')dnl define(`add', `addthis(`$1',`$2')addthis(`$1',`$3')addthis(`$1',`$4')dnl addthis(`$1',`$5')addthis(`$1',`$6')addthis(`$1',`$7')addthis(`$1',`$8')')dnl -AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_VISIBILITY@ @PALUDIS_CXXFLAGS_NO_WOLD_STYLE_CAST@ +AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_NO_WOLD_STYLE_CAST@ include(`paludis/files.m4') diff --git a/paludis/args/Makefile.am b/paludis/args/Makefile.am index f67686f28..2a877dd03 100644 --- a/paludis/args/Makefile.am +++ b/paludis/args/Makefile.am @@ -3,7 +3,7 @@ include $(top_srcdir)/misc/common-makefile.am SUBDIRS = . DISTCLEANFILES = args_handler-se.hh args_handler-se.cc -AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_VISIBILITY@ +AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@ EXTRA_DIST = args_handler-se.hh args_handler-se.cc args_handler.se BUILT_SOURCES = args_handler-se.hh args_handler-se.cc diff --git a/paludis/environments/Makefile.am b/paludis/environments/Makefile.am index 075675e74..27a503735 100644 --- a/paludis/environments/Makefile.am +++ b/paludis/environments/Makefile.am @@ -9,7 +9,7 @@ MAINTAINERCLEANFILES = Makefile.in built-sources : $(BUILT_SOURCES) for s in `echo $(SUBDIRS) | tr -d .` ; do $(MAKE) -C $$s built-sources || exit 1 ; done -AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_VISIBILITY@ +AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@ DEFS= \ -DSYSCONFDIR=\"$(sysconfdir)\" \ -DLIBEXECDIR=\"$(libexecdir)\" \ diff --git a/paludis/environments/paludis/Makefile.am b/paludis/environments/paludis/Makefile.am index 8e0e4f16e..0ff8e41df 100644 --- a/paludis/environments/paludis/Makefile.am +++ b/paludis/environments/paludis/Makefile.am @@ -1,7 +1,7 @@ include $(top_srcdir)/misc/common-makefile.am SUBDIRS = . -AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_VISIBILITY@ +AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@ DEFS= \ -DSYSCONFDIR=\"$(sysconfdir)\" \ -DLIBEXECDIR=\"$(libexecdir)\" \ diff --git a/paludis/environments/portage/Makefile.am b/paludis/environments/portage/Makefile.am index e388060fa..b6892360e 100644 --- a/paludis/environments/portage/Makefile.am +++ b/paludis/environments/portage/Makefile.am @@ -1,6 +1,6 @@ include $(top_srcdir)/misc/common-makefile.am -AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_VISIBILITY@ +AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@ DEFS= \ -DSYSCONFDIR=\"$(sysconfdir)\" \ -DLIBEXECDIR=\"$(libexecdir)\" \ diff --git a/paludis/environments/test/Makefile.am b/paludis/environments/test/Makefile.am index e5b557678..fbdb07087 100644 --- a/paludis/environments/test/Makefile.am +++ b/paludis/environments/test/Makefile.am @@ -1,6 +1,6 @@ CLEANFILES = *~ gmon.out *.gcov *.gcno *.gcda *.loT ihateautomake.cc ihateautomake.o *.epicfail MAINTAINERCLEANFILES = Makefile.in -AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_VISIBILITY@ +AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@ DEFS= \ -DSYSCONFDIR=\"$(sysconfdir)\" \ -DLIBEXECDIR=\"$(libexecdir)\" \ diff --git a/paludis/repositories/Makefile.am b/paludis/repositories/Makefile.am index 968f5991f..9192188f6 100644 --- a/paludis/repositories/Makefile.am +++ b/paludis/repositories/Makefile.am @@ -4,7 +4,7 @@ SUBDIRS = . $(BUILD_REPOSITORIES) DIST_SUBDIRS = $(ALL_REPOSITORIES) -AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_VISIBILITY@ +AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@ DEFS= \ -DSYSCONFDIR=\"$(sysconfdir)\" \ -DLIBEXECDIR=\"$(libexecdir)\" \ diff --git a/paludis/repositories/accounts/Makefile.am b/paludis/repositories/accounts/Makefile.am index a4497db4b..11dd077f9 100644 --- a/paludis/repositories/accounts/Makefile.am +++ b/paludis/repositories/accounts/Makefile.am @@ -2,7 +2,7 @@ include $(top_srcdir)/misc/common-makefile.am SUBDIRS = . -AM_CXXFLAGS = -I$(top_srcdir) -I$(top_builddir) @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_VISIBILITY@ +AM_CXXFLAGS = -I$(top_srcdir) -I$(top_builddir) @PALUDIS_CXXFLAGS@ DEFS= \ -DSYSCONFDIR=\"$(sysconfdir)\" \ -DLIBEXECDIR=\"$(libexecdir)\" \ diff --git a/paludis/repositories/e/Makefile.am b/paludis/repositories/e/Makefile.am index 99c71f83d..b0fefad8e 100644 --- a/paludis/repositories/e/Makefile.am +++ b/paludis/repositories/e/Makefile.am @@ -6,7 +6,7 @@ DISTCLEANFILES = \ dep_parser-se.hh dep_parser-se.cc \ iuse-se.hh iuse-se.cc -AM_CXXFLAGS = -I$(top_srcdir) -I$(top_builddir) @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_VISIBILITY@ +AM_CXXFLAGS = -I$(top_srcdir) -I$(top_builddir) @PALUDIS_CXXFLAGS@ DEFS= \ -DSYSCONFDIR=\"$(sysconfdir)\" \ -DLIBEXECDIR=\"$(libexecdir)\" \ diff --git a/paludis/repositories/fake/Makefile.am b/paludis/repositories/fake/Makefile.am index c566f94c6..45386d1db 100644 --- a/paludis/repositories/fake/Makefile.am +++ b/paludis/repositories/fake/Makefile.am @@ -1,6 +1,6 @@ include $(top_srcdir)/misc/common-makefile.am -AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_VISIBILITY@ +AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@ DEFS= \ -DSYSCONFDIR=\"$(sysconfdir)\" \ -DLIBEXECDIR=\"$(libexecdir)\" \ diff --git a/paludis/repositories/gemcutter/Makefile.am b/paludis/repositories/gemcutter/Makefile.am index eb501fe51..40c636669 100644 --- a/paludis/repositories/gemcutter/Makefile.am +++ b/paludis/repositories/gemcutter/Makefile.am @@ -2,7 +2,7 @@ include $(top_srcdir)/misc/common-makefile.am SUBDIRS = . -AM_CXXFLAGS = -I$(top_srcdir) -I$(top_builddir) @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_VISIBILITY@ +AM_CXXFLAGS = -I$(top_srcdir) -I$(top_builddir) @PALUDIS_CXXFLAGS@ DEFS= \ -DSYSCONFDIR=\"$(sysconfdir)\" \ -DLIBEXECDIR=\"$(libexecdir)\" \ diff --git a/paludis/repositories/repository/Makefile.am b/paludis/repositories/repository/Makefile.am index 05dd33fbc..288960572 100644 --- a/paludis/repositories/repository/Makefile.am +++ b/paludis/repositories/repository/Makefile.am @@ -2,7 +2,7 @@ include $(top_srcdir)/misc/common-makefile.am SUBDIRS = . -AM_CXXFLAGS = -I$(top_srcdir) -I$(top_builddir) @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_VISIBILITY@ +AM_CXXFLAGS = -I$(top_srcdir) -I$(top_builddir) @PALUDIS_CXXFLAGS@ DEFS= \ -DSYSCONFDIR=\"$(sysconfdir)\" \ -DLIBEXECDIR=\"$(libexecdir)\" \ diff --git a/paludis/repositories/unavailable/Makefile.am b/paludis/repositories/unavailable/Makefile.am index 8451376d9..1088edff8 100644 --- a/paludis/repositories/unavailable/Makefile.am +++ b/paludis/repositories/unavailable/Makefile.am @@ -2,7 +2,7 @@ include $(top_srcdir)/misc/common-makefile.am SUBDIRS = . -AM_CXXFLAGS = -I$(top_srcdir) -I$(top_builddir) @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_VISIBILITY@ +AM_CXXFLAGS = -I$(top_srcdir) -I$(top_builddir) @PALUDIS_CXXFLAGS@ DEFS= \ -DSYSCONFDIR=\"$(sysconfdir)\" \ -DLIBEXECDIR=\"$(libexecdir)\" \ diff --git a/paludis/repositories/unpackaged/Makefile.am b/paludis/repositories/unpackaged/Makefile.am index 9f39c8d58..71e3266c1 100644 --- a/paludis/repositories/unpackaged/Makefile.am +++ b/paludis/repositories/unpackaged/Makefile.am @@ -2,7 +2,7 @@ include $(top_srcdir)/misc/common-makefile.am SUBDIRS = . -AM_CXXFLAGS = -I$(top_srcdir) -I$(top_builddir) @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_VISIBILITY@ +AM_CXXFLAGS = -I$(top_srcdir) -I$(top_builddir) @PALUDIS_CXXFLAGS@ DEFS= \ -DSYSCONFDIR=\"$(sysconfdir)\" \ -DLIBEXECDIR=\"$(libexecdir)\" \ diff --git a/paludis/repositories/unwritten/Makefile.am b/paludis/repositories/unwritten/Makefile.am index c0c8ded79..a384a6f70 100644 --- a/paludis/repositories/unwritten/Makefile.am +++ b/paludis/repositories/unwritten/Makefile.am @@ -2,7 +2,7 @@ include $(top_srcdir)/misc/common-makefile.am SUBDIRS = . -AM_CXXFLAGS = -I$(top_srcdir) -I$(top_builddir) @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_VISIBILITY@ +AM_CXXFLAGS = -I$(top_srcdir) -I$(top_builddir) @PALUDIS_CXXFLAGS@ DEFS= \ -DSYSCONFDIR=\"$(sysconfdir)\" \ -DLIBEXECDIR=\"$(libexecdir)\" \ diff --git a/paludis/resolver/Makefile.am b/paludis/resolver/Makefile.am index 699cb88aa..e99090786 100644 --- a/paludis/resolver/Makefile.am +++ b/paludis/resolver/Makefile.am @@ -11,7 +11,7 @@ DISTCLEANFILES = \ resolver_functions-se.hh resolver_functions-se.cc \ \ use_existing-se.hh use_existing-se.cc -AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_VISIBILITY@ +AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@ EXTRA_DIST = \ any_child_score-se.hh any_child_score-se.cc any_child_score.se \ diff --git a/paludis/selinux/Makefile.am b/paludis/selinux/Makefile.am index 530462a83..cfbb48dc3 100644 --- a/paludis/selinux/Makefile.am +++ b/paludis/selinux/Makefile.am @@ -24,5 +24,5 @@ EXTRA_DIST = check_PROGRAMS = $(TESTS) -AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_VISIBILITY@ +AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@ diff --git a/paludis/util/Makefile.am.m4 b/paludis/util/Makefile.am.m4 index c527cb1cc..fc41c0b05 100644 --- a/paludis/util/Makefile.am.m4 +++ b/paludis/util/Makefile.am.m4 @@ -48,7 +48,7 @@ ifelse(`$2', `testscript', `addtestscript(`$1')', `')')dnl define(`add', `addthis(`$1',`$2')addthis(`$1',`$3')addthis(`$1',`$4')dnl addthis(`$1',`$5')addthis(`$1',`$6')addthis(`$1',`$7')addthis(`$1',`$8')')dnl -AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_NO_WOLD_STYLE_CAST@ @PALUDIS_CXXFLAGS_VISIBILITY@ +AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_NO_WOLD_STYLE_CAST@ include(`paludis/util/files.m4') diff --git a/paludis/util/attributes.hh b/paludis/util/attributes.hh index fa0f0302d..270fbc393 100644 --- a/paludis/util/attributes.hh +++ b/paludis/util/attributes.hh @@ -31,7 +31,7 @@ */ /** \def PALUDIS_ATTRIBUTE - * If we're using a recent GCC or ICC, expands to __attribute__, otherwise + * If we're using a GNU compatible compiler, expands to __attribute__, otherwise * discards its arguments. * * \ingroup g_utils @@ -49,27 +49,18 @@ * \ingroup g_utils */ -#if (defined(__GNUC__) && ! defined(DOXYGEN)) -# if defined(__ICC) -# define PALUDIS_ATTRIBUTE(x) -# else -# if ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) -# define PALUDIS_ATTRIBUTE(x) __attribute__(x) -# define PALUDIS_CAN_USE_ATTRIBUTE 1 -# else -# define PALUDIS_ATTRIBUTE(x) -# endif -# endif -#else +#if defined(DOXYGEN) # define PALUDIS_ATTRIBUTE(x) +#else +# define PALUDIS_ATTRIBUTE(x) __attribute__(x) #endif -#if (defined(PALUDIS_ENABLE_VISIBILITY) && ! defined(DOXYGEN)) -# define PALUDIS_VISIBLE PALUDIS_ATTRIBUTE((visibility("default"))) -# define PALUDIS_HIDDEN PALUDIS_ATTRIBUTE((visibility("hidden"))) -#else +#if defined(DOXYGEN) # define PALUDIS_VISIBLE # define PALUDIS_HIDDEN +#else +# define PALUDIS_VISIBLE PALUDIS_ATTRIBUTE((visibility("default"))) +# define PALUDIS_HIDDEN PALUDIS_ATTRIBUTE((visibility("hidden"))) #endif #define PALUDIS_TLS static __thread diff --git a/python/Makefile.am b/python/Makefile.am index eded71ba6..9dff4f873 100644 --- a/python/Makefile.am +++ b/python/Makefile.am @@ -11,7 +11,6 @@ AM_CXXFLAGS = -I$(top_srcdir) -I$(srcdir)/ \ @PALUDIS_CXXFLAGS_NO_WOLD_STYLE_CAST@ \ @PALUDIS_CXXFLAGS_NO_WWRITE_STRINGS@ \ @PALUDIS_CXXFLAGS_NO_WMISSING_NORETURN@ \ - @PALUDIS_CXXFLAGS_VISIBILITY@ \ @PALUDIS_CXXFLAGS_NO_STRICT_ALIASING@ \ @PALUDIS_CXXFLAGS_NO_DEBUGGING@ diff --git a/ruby/Makefile.am b/ruby/Makefile.am index b8c1c0553..06655d038 100644 --- a/ruby/Makefile.am +++ b/ruby/Makefile.am @@ -4,8 +4,7 @@ SUBDIRS = . demos AM_CXXFLAGS = -I$(top_srcdir) -I$(srcdir)/ \ -I$(top_builddir)/ \ - @PALUDIS_CXXFLAGS@ \ - @PALUDIS_CXXFLAGS_VISIBILITY@ + @PALUDIS_CXXFLAGS@ DEFS= \ -DSYSCONFDIR=\"$(sysconfdir)\" \ diff --git a/src/clients/Makefile.am b/src/clients/Makefile.am index 91968d2c8..6b57986c5 100644 --- a/src/clients/Makefile.am +++ b/src/clients/Makefile.am @@ -6,7 +6,7 @@ AUTOMAKE_OPTIONS = 1.11 parallel-tests CLEANFILES = *~ gmon.out *.gcov *.gcno *.gcda *.loT *.epicfail MAINTAINERCLEANFILES = Makefile.in -AM_CXXFLAGS = -I$(top_srcdir) -I$(top_srcdir)/src @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_VISIBILITY@ +AM_CXXFLAGS = -I$(top_srcdir) -I$(top_srcdir)/src @PALUDIS_CXXFLAGS@ built-sources : $(BUILT_SOURCES) for s in `echo $(SUBDIRS) | tr -d .` ; do $(MAKE) -C $$s built-sources || exit 1 ; done diff --git a/src/clients/cave/Makefile.am b/src/clients/cave/Makefile.am index 619bea304..8489c68a1 100644 --- a/src/clients/cave/Makefile.am +++ b/src/clients/cave/Makefile.am @@ -1,7 +1,7 @@ include $(top_srcdir)/misc/common-makefile.am AM_CXXFLAGS = -I$(top_srcdir) -I$(top_srcdir)/src \ - @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_NO_WOLD_STYLE_CAST@ @PALUDIS_CXXFLAGS_VISIBILITY@ + @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_NO_WOLD_STYLE_CAST@ DEFS= \ -DBINDIR=\"$(bindir)\" \ -DSYSCONFDIR=\"$(sysconfdir)\" \ diff --git a/src/output/Makefile.am b/src/output/Makefile.am index 5cf1b0609..a5260367a 100644 --- a/src/output/Makefile.am +++ b/src/output/Makefile.am @@ -8,7 +8,7 @@ liboutput_a_SOURCES = \ colour.cc colour.hh \ colour_pretty_printer.cc colour_pretty_printer.hh -AM_CXXFLAGS = -I$(top_srcdir) -I$(top_srcdir)/src @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_VISIBILITY@ +AM_CXXFLAGS = -I$(top_srcdir) -I$(top_srcdir)/src @PALUDIS_CXXFLAGS@ built-sources : $(BUILT_SOURCES) for s in `echo $(SUBDIRS) | tr -d .` ; do $(MAKE) -C $$s built-sources || exit 1 ; done |