test/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 394 afe520f454bd
child 475 008c75a5e08d
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.
     1 ## Process this file with automake to produce Makefile.in
     2 
     3 check_SCRIPTS = relocate named-root remove update details
     4 if HAVE_LUA
     5   check_SCRIPTS += lua mult-install
     6 endif
     7 check_SCRIPTS += order
     8 
     9 relocate:	relocate.sh primary.xml.gz
    10 	cp $(srcdir)/relocate.sh relocate
    11 
    12 named-root:	named-root.sh primary.xml.gz
    13 	cp $(srcdir)/named-root.sh named-root
    14 
    15 remove:	remove.sh primary.xml.gz
    16 	cp $(srcdir)/remove.sh remove
    17 
    18 update:	update.sh base/repodata/primary.xml.gz updates/repodata/primary.xml.gz
    19 	cp $(srcdir)/update.sh update
    20 
    21 details:	details.sh primary.xml.gz
    22 	cp $(srcdir)/details.sh details
    23 
    24 order:	order.sh primary.xml.gz
    25 	cp $(srcdir)/order.sh order
    26 
    27 lua:	lua.sh primary.xml.gz
    28 	cp $(srcdir)/lua.sh lua
    29 
    30 mult-install:	mult-install.sh primary.xml.gz
    31 	cp $(srcdir)/mult-install.sh mult-install
    32 
    33 base/repodata/primary.xml.gz:	zsh.spec zsh2.spec zip.spec zap.spec \
    34 		filesystem.spec Makefile
    35 	rm -rf rpmbuild base
    36 	mkdir -p rpmbuild/BUILD rpmbuild/RPMS
    37 	rpmbuild --define "_topdir `pwd`/rpmbuild" -bb $(srcdir)/zap.spec
    38 	rpmbuild --define "_topdir `pwd`/rpmbuild" --define "_version 1" \
    39 	  -bb $(srcdir)/zip.spec
    40 	rpmbuild --define "_topdir `pwd`/rpmbuild" -bb $(srcdir)/zsh.spec
    41 	rpmbuild --define "_topdir `pwd`/rpmbuild" -bb $(srcdir)/zsh2.spec
    42 	rpmbuild --define "_topdir `pwd`/rpmbuild" -bb $(srcdir)/filesystem.spec
    43 	mkdir -p base/rpms
    44 	mv rpmbuild/RPMS/noarch/*.rpm base/rpms
    45 	rm -rf rpmbuild
    46 	createrepo --simple-md-filenames -o base base/rpms
    47 
    48 updates/repodata/primary.xml.gz:	zip.spec Makefile
    49 	rm -rf rpmbuild updates
    50 	mkdir -p rpmbuild/BUILD rpmbuild/RPMS
    51 	rpmbuild --define "_topdir `pwd`/rpmbuild" --define "_version 2" \
    52 	  -bb $(srcdir)/zip.spec
    53 	mkdir -p updates/rpms
    54 	mv rpmbuild/RPMS/noarch/*.rpm updates/rpms
    55 	rm -rf rpmbuild
    56 	createrepo --simple-md-filenames -o updates updates/rpms
    57 
    58 primary.xml.gz:	base/repodata/primary.xml.gz
    59 	cp base/repodata/primary.xml.gz base/repodata/filelists.xml.gz .
    60 	rm -rf rpms
    61 	ln -s base/rpms .
    62 
    63 TESTS = $(check_SCRIPTS)
    64 
    65 EXTRA_DIST = 			\
    66 	zap.spec		\
    67 	zip.spec		\
    68 	zsh.spec		\
    69 	zsh2.spec		\
    70 	filesystem.spec		\
    71 	order.sh		\
    72 	mult-install.sh		\
    73 	lua.sh			\
    74 	remove.sh		\
    75 	update.sh		\
    76 	details.sh		\
    77 	details.ref		\
    78 	named-root.sh		\
    79 	relocate.sh
    80 
    81 MOSTLYCLEANFILES =		\
    82 	primary.xml.gz		\
    83 	filelists.xml.gz	\
    84 	$(check_SCRIPTS)	\
    85 	details.out		\
    86 	rawhide.rzdb
    87 
    88 clean-local :
    89 	rm -f *~
    90 	rm -rf repodata rpms base updates