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 323 3b24a0bd41ee
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
ali@351
     3
SUBDIRS = data docs gl librazor src test po
ali@323
     4
ali@323
     5
ACLOCAL_AMFLAGS = -I gl/m4
rhughes@241
     6
rhughes@241
     7
# Creating ChangeLog from git log (taken from cairo/Makefile.am):
rhughes@241
     8
ChangeLog: $(srcdir)/ChangeLog
rhughes@241
     9
rhughes@241
    10
$(srcdir)/ChangeLog:
rhughes@241
    11
	@if test -d "$(srcdir)/.git"; then \
rhughes@241
    12
	  (cd "$(srcdir)" && \
rhughes@241
    13
	  ./missing --run git-log --stat) | fmt --split-only > $@.tmp \
rhughes@241
    14
	  && mv -f $@.tmp $@ \
rhughes@241
    15
	  || ($(RM) $@.tmp; \
rhughes@241
    16
	      echo Failed to generate ChangeLog, your ChangeLog may be outdated >&2; \
rhughes@241
    17
	      (test -f $@ || echo git-log is required to generate this file >> $@)); \
rhughes@241
    18
	else \
rhughes@241
    19
	  test -f $@ || \
rhughes@241
    20
	  (echo A git checkout and git-log is required to generate ChangeLog >&2 && \
rhughes@241
    21
	  echo A git checkout and git-log is required to generate this file >> $@); \
rhughes@241
    22
	fi
rhughes@241
    23
rhughes@241
    24
.PHONY: ChangeLog $(srcdir)/ChangeLog
rhughes@241
    25
rhughes@241
    26
EXTRA_DIST = 			\
rhughes@241
    27
	TODO	 		\
rhughes@241
    28
	ChangeLog 		\
rhughes@241
    29
	intltool-extract.in 	\
rhughes@241
    30
	intltool-merge.in 	\
rhughes@241
    31
	intltool-update.in
rhughes@241
    32
rhughes@241
    33
DISTCLEANFILES = \
rhughes@241
    34
	intltool-extract	\
rhughes@241
    35
	intltool-merge		\
rhughes@241
    36
	intltool-update
rhughes@241
    37
rhughes@241
    38
clean-local :
rhughes@241
    39
	rm -f *~
rhughes@241
    40