]> granicus.if.org Git - check/commitdiff
* Added use of libtool functionality for hiding non-exported symbols.
authorhugo303 <hugo303@64e312b2-a51f-0410-8e61-82d0ca0eb02a>
Fri, 17 Nov 2006 08:56:43 +0000 (08:56 +0000)
committerhugo303 <hugo303@64e312b2-a51f-0410-8e61-82d0ca0eb02a>
Fri, 17 Nov 2006 08:56:43 +0000 (08:56 +0000)
   Sourceforge feature request #1165405 and bug #1597963.

git-svn-id: svn+ssh://svn.code.sf.net/p/check/code/trunk@373 64e312b2-a51f-0410-8e61-82d0ca0eb02a

src/Makefile.am
tests/Makefile.am

index d5b0058148c62f90635fada7054ffefb7e832c8f..7f124d85cf4f437f22715586fa7b4a75d08430d0 100644 (file)
@@ -1,51 +1,72 @@
 ## Process this file with automake to produce Makefile.in
 
-lib_LTLIBRARIES=libcheck.la
+lib_LTLIBRARIES                = libcheck.la
+noinst_LTLIBRARIES     = libcheckinternal.la
 
-include_HEADERS=check.h
+include_HEADERS                = check.h
 
-AM_CFLAGS=@GCOV_CFLAGS@
+EXTRA_DIST             = check.h.in
 
-libcheck_la_LIBADD=@GCOV_LIBS@
+AM_CFLAGS              = @GCOV_CFLAGS@
 
-libcheck_la_SOURCES=\
-       check.h         \
+
+CFILES =\
        check.c         \
-       check_error.h   \
        check_error.c   \
-       check_impl.h    \
-       check_list.h    \
        check_list.c    \
-       check_log.h     \
        check_log.c     \
-       check_msg.h     \
        check_msg.c     \
-       check_pack.h    \
        check_pack.c    \
-       check_print.h   \
        check_print.c   \
        check_run.c     \
-       check_str.h     \
        check_str.c
 
-EXTRA_DIST=check.h.in
+HFILES =\
+       check.h         \
+       check_error.h   \
+       check_impl.h    \
+       check_list.h    \
+       check_log.h     \
+       check_msg.h     \
+       check_pack.h    \
+       check_print.h   \
+       check_str.h
+
+
+EXPORT_SYM     = exported.sym
+$(EXPORT_SYM): check.h.in
+       sed -n -e 's/^.\+CK_EXPORT[[:space:]]\+\([[:alnum:]_]\+\).*$$/\1/p' $< > $@
 
-CLEANFILES=*~ *.gcno
+libcheck_la_DEPENDENCIES= $(EXPORT_SYM)
+libcheck_la_LDFLAGS    = -export-symbols $(EXPORT_SYM)
+libcheck_la_SOURCES    = $(CFILES) $(HFILES)
+libcheck_la_LIBADD     = @GCOV_LIBS@
 
-LCOV_OUTPUT  = lcov.info
-LCOV_HTML    = lcov_html
-LCOV_LCOV    = @LCOV@
-LCOV_GENHTML = @GENHTML@
+
+libcheckinternal_la_SOURCES    = $(libcheck_la_SOURCES)
+libcheckinternal_la_LIBADD     = @GCOV_LIBS@
+
+
+CLEANFILES     = *~ *.gcno $(EXPORT_SYM)
+
+
+LCOV_INPUT     = $(CFILES:%.c=.libs/%.gcda)
+LCOV_OUTPUT    = lcov.info
+LCOV_HTML      = lcov_html
+LCOV_LCOV      = @LCOV@
+LCOV_GENHTML   = @GENHTML@
 
 lcov: $(LCOV_HTML)
 
-$(LCOV_OUTPUT): libcheck.la
+$(LCOV_INPUT): libcheck.la libcheckinternal.la
        @$(MAKE) -C $(top_builddir)/tests check
-       $(LCOV_LCOV) --capture --directory . --base-directory . --output-file $(LCOV_OUTPUT)
+
+$(LCOV_OUTPUT): $(LCOV_INPUT)
+       $(LCOV_LCOV) --capture --directory . --base-directory . --output-file $@
 
 $(LCOV_HTML): $(LCOV_OUTPUT)
-       -$(RM) -r $(LCOV_HTML)
-       LANG=C $(LCOV_GENHTML) --output-directory $(LCOV_HTML) --title "Check Code Coverage" --show-details $(LCOV_OUTPUT)
+       -$(RM) -r $@
+       LANG=C $(LCOV_GENHTML) --output-directory $@ --title "Check Code Coverage" --show-details $<
        @echo "Point a web browser at $(LCOV_HTML)/index.html to see results."
 
 clean-local: lcov-clean
index a0aa9fde5c40f7a043efd04622f0123ebd66baf1..e7d9d0a2f4eff9ce04b1ae00dea0be7039bb9184 100644 (file)
@@ -1,12 +1,14 @@
 ## Process this file with automake to produce Makefile.in
 
 TESTS = \
+       check_check_export      \
        check_check             \
        test_output.sh          \
        test_xml_output.sh      \
        test_log_output.sh
 
 noinst_PROGRAMS = \
+       check_check_export \
        check_check     \
        check_stress    \
        ex_output       \
@@ -17,8 +19,18 @@ EXTRA_DIST = test_output.sh test_log_output.sh test_xml_output.sh
 
 if NO_TIMEOUT_TESTS
 check_check_CFLAGS = -DTIMEOUT_TESTS_ENABLED=0
+check_check_export_CFLAGS = -DTIMEOUT_TESTS_ENABLED=0
 endif
 
+check_check_export_SOURCES = \
+       check_check.h           \
+       check_check_sub.c       \
+       check_check_master.c    \
+       check_check_log.c       \
+       check_check_fork.c      \
+       check_check_export_main.c
+check_check_export_LDADD = $(top_builddir)/src/libcheck.la
+
 check_check_SOURCES = \
        check_check.h           \
        check_list.c            \
@@ -31,13 +43,20 @@ check_check_SOURCES = \
        check_check_fixture.c   \
        check_check_pack.c      \
        check_check_main.c
+check_check_LDADD = $(top_builddir)/src/libcheckinternal.la
 
 check_stress_SOURCES = check_stress.c
+check_stress_LDADD = $(top_builddir)/src/libcheck.la
+
 ex_output_SOURCES = ex_output.c
+ex_output_LDADD = $(top_builddir)/src/libcheck.la
+
 ex_log_output_SOURCES = ex_log_output.c
+ex_log_output_LDADD = $(top_builddir)/src/libcheck.la
+
 ex_xml_output_SOURCES = ex_xml_output.c
+ex_xml_output_LDADD = $(top_builddir)/src/libcheck.la
 
 AM_CPPFLAGS = -I$(top_srcdir)/src
-LDADD = $(top_builddir)/src/libcheck.la
 
 CLEANFILES = *~ *.log *.xml test_logfile