src/Makefile.am
author J. Ali Harlow <ali@juiblex.co.uk>
Sat Oct 04 18:12:58 2014 +0100 (2014-10-04)
changeset 454 56ff755c268c
parent 429 51905cfc2bde
child 455 df914f383f5c
permissions -rw-r--r--
Only export symbols starting with razor_ in dynamic library.

Apart from being good practice to avoid clashes with higher-level
libraries and the application, this also fixes an obscure bug: The
gnulib library is used both by librazor (the dynamic library) and
by razor (the executable). In doing so, we want to have two separate
copies of the library despite the code duplication this involves.
Without the explicit limit to export only razor_ symbols, the razor
executable under mingw64 was picking up the getopt_long function
from librazor and the optind variable from libgnu which meant that
it did not see optind changing. Hiding librazor's copy of getopt
causes the linker to find libgnu's copy and everything works.

Note that under mingw librazor-#.dll still contains undocumented
(private) razor_ symbols but these will do no harm as long as nobody
tries to use them.
rhughes@241
     1
## Process this file with automake to produce Makefile.in
rhughes@241
     2
rhughes@241
     3
INCLUDES = \
ali@352
     4
	$(LUA_CFLAGS) \
rhughes@241
     5
	$(CURL_CFLAGS) \
rhughes@241
     6
	$(EXPAT_CFLAGS) \
rhughes@241
     7
	$(RPM_CFLAGS) \
ali@332
     8
	-I$(top_builddir)/gl -I$(top_srcdir)/gl \
rhughes@241
     9
	-I$(top_builddir)/src -I$(top_srcdir)/src \
ali@453
    10
	-I$(top_builddir)/librazor -I$(top_srcdir)/librazor \
rhughes@241
    11
	-DPACKAGE_LIBEXEC_DIR=\""$(libexecdir)"\" \
rhughes@241
    12
	-DPACKAGE_SYSCONF_DIR=\""$(sysconfdir)"\" \
rhughes@241
    13
	-DPACKAGE_DATA_DIR=\""$(datadir)"\" \
rhughes@241
    14
	-DPACKAGE_BIN_DIR=\""$(bindir)"\" \
rhughes@241
    15
	-DPACKAGE_LOCALSTATEDIR=\""$(localstatedir)"\" \
rhughes@241
    16
	-DPACKAGE_LOCALE_DIR=\""$(localedir)"\"
rhughes@241
    17
krh@265
    18
bin_PROGRAMS = razor
krh@265
    19
noinst_PROGRAMS = rpm
jbowes@284
    20
check_PROGRAMS = test-driver
rhughes@241
    21
ali@320
    22
razor_SOURCES = main.c import-yum.c
ali@320
    23
if HAVE_RPMLIB
ali@320
    24
razor_SOURCES += import-rpmdb.c
ali@320
    25
endif
ali@429
    26
razor_LDADD = $(top_builddir)/librazor/librazor.la $(RPM_LIBS) $(EXPAT_LIBS) $(CURL_LIBS) $(LUA_LIBS) $(top_builddir)/gl/libgnu.la $(INTLLIBS) $(EXTRA_LIBS)
rhughes@241
    27
rhughes@241
    28
rpm_SOURCES = rpm.c
ali@429
    29
rpm_LDADD = $(top_builddir)/librazor/librazor.la $(LUA_LIBS) $(EXTRA_LIBS)
rhughes@241
    30
jbowes@284
    31
test_driver_SOURCES = test-driver.c
ali@429
    32
test_driver_LDADD = $(top_builddir)/librazor/librazor.la $(EXPAT_LIBS) $(EXTRA_LIBS)
jbowes@284
    33
jbowes@284
    34
TESTS = test-driver
ali@351
    35
XFAIL_TESTS = test-driver
jbowes@284
    36
ali@343
    37
EXTRA_DIST = 			\
ali@343
    38
	test.xml
ali@343
    39
rhughes@241
    40
clean-local :
rhughes@241
    41
	rm -f *~
rhughes@241
    42