- get rid of libtool

- set version to 1.0.3.1
- another attempt to finally fix gensyms.pl


git-svn-id: http://svn.code.sf.net/p/xqf/code/trunk@749 d2ac09be-c843-0410-8b1f-f8a84130e0ec
This commit is contained in:
Ludwig Nussel 2005-09-13 16:20:02 +00:00 committed by l-n
parent 39a485075d
commit 89564af263
6 changed files with 82 additions and 65 deletions

View File

@ -1,3 +1,8 @@
Sep 13, 2005: <l-n@users.sourceforge.net>
- get rid of libtool
- set version to 1.0.3.1
- another attempt to finally fix gensyms.pl
Sep 12, 2005: <l-n@users.sourceforge.net>
- fix integer overflow in TGA loader

View File

@ -109,16 +109,16 @@ fi
rm -f tmpout $GETTEXTIZE_FIXED
# workaround for libtoolize putting files in ..
if [ ! -e install-sh ]; then
removeinstallsh=1
touch install-sh
fi
echo "running libtoolize ..."
libtoolize --force || die libtoolize libtool
[ -n "$removeinstallsh" ] && rm install-sh
## workaround for libtoolize putting files in ..
#if [ ! -e install-sh ]; then
# removeinstallsh=1
# touch install-sh
#fi
#
#echo "running libtoolize ..."
#libtoolize --force || die libtoolize libtool
#
#[ -n "$removeinstallsh" ] && rm install-sh
# Some old version of GNU build tools fail to set error codes.
# Check that they generate some of the files they should.

View File

@ -3,7 +3,7 @@
# Initially written by Markus Fischer <mfischer@josefine.ben.tuwien.ac.at>
#
AC_INIT([XQF],[1.0.3],[xqf-developer@lists.sourceforge.net], [xqf])
AC_INIT([XQF],[1.0.3.1],[xqf-developer@lists.sourceforge.net], [xqf])
AC_CONFIG_SRCDIR([src/xqf.c])
AC_PREREQ(2.52)
@ -22,9 +22,10 @@ AM_GLIB_GNU_GETTEXT
dnl Checks for programs.
AC_PROG_CC
AC_ISC_POSIX
AC_PROG_LN_S
AC_PROG_RANLIB
AC_DISABLE_STATIC
AC_PROG_LIBTOOL
dnl Checks for header files.
AC_HEADER_STDC
@ -83,16 +84,6 @@ fi
AC_SUBST(QSTATEXEC)
case "$qstat_version" in
2.0*|2.1*|2.3*|2.4a|2.4b|2.4c|2.4d)
qstat_is=tooold
;;
esac
QSTAT23="-DQSTAT23 -DQSTAT_HAS_UNREAL_SUPPORT"
AC_SUBST(QSTAT23)
AC_CHECK_HEADER(zlib.h,,[AC_MSG_ERROR([zlib.h not found, please install zlib development files])])
AC_CHECK_LIB(z, crc32,[AC_DEFINE([HAVE_LIBZ],[],[Whether libz is installed])],[AC_MSG_ERROR([libz not found])])
@ -142,7 +133,7 @@ if test "x$USE_GEOIP" != "xno"; then
DUMMY_LIBGEOIP_SONAME=`objdump -p "$use_geoip_dummy"|awk '$1 == "SONAME" {print $2}'`
if test "x$DUMMY_LIBGEOIP_SONAME" != x; then
DUMMY_LIBGEOIP_ORIG="$use_geoip_dummy"
GEOIP_LIB="libxqf_dummy_GeoIP.la"
GEOIP_LIB='-L$(top_builddir)/src -lxqf_dummy_GeoIP'
AC_SUBST(DUMMY_LIBGEOIP_SONAME)
AC_SUBST(DUMMY_LIBGEOIP_ORIG)
@ -174,7 +165,7 @@ if test "x$use_pixbuf_dummy" != "xno"; then
DUMMY_LIBGDKPIXBUF_SONAME=`objdump -p "$use_pixbuf_dummy"|awk '$1 == "SONAME" {print $2}'`
if test "x$DUMMY_LIBGDKPIXBUF_SONAME" != x; then
DUMMY_LIBGDKPIXBUF_ORIG="$use_pixbuf_dummy"
GDK_PIXBUF_LIBS="libxqf_dummy_gdk_pixbuf.la"
GDK_PIXBUF_LIBS="-lxqf_dummy_gdk_pixbuf"
AC_SUBST(DUMMY_LIBGDKPIXBUF_SONAME)
AC_SUBST(DUMMY_LIBGDKPIXBUF_ORIG)
@ -261,10 +252,4 @@ if test "x$qstat_is" = "xnotfound" ; then
*** Get it from http://qstat.org/
*** and put it in your path
])
elif test "x$qstat_is" = "xtooold" ; then
AC_MSG_RESULT([
*** You have an old QStat version installed
*** QStat 2.4e is recommended to run XQF
*** Get it from http://qstat.org/
])
fi

View File

@ -34,7 +34,12 @@ xqf_LDADD = $(INTLLIBS) \
$(GDK_PIXBUF_LIBS) \
-lz
xqf_LDFLAGS = #-Wl,-rpath,\$$ORIGIN
xqf_LDFLAGS = -Wl,-rpath,$(pkglibdir)
# we need to specify all deps manually due to dummy libs
xqf_DEPENDENCIES = \
$(top_builddir)/src/zip/libunzip.a \
$(top_builddir)/src/tga/libtga.a
xqf_rcon_LDADD = @INTLLIBS@ $(GLIB_LIBS) $(XQFRCON_LIBS) @PACKAGE_LIBS@
xqf_rcon_SOURCES = \
@ -141,34 +146,48 @@ test_utils_LDADD = $(xqf_LDADD)
gamesxml2c_LDFLAGS = $(shell xml2-config --libs)
gamesxml2c_CFLAGS = $(shell xml2-config --cflags)
pkglib_LTLIBRARIES =
pkglib_PROGRAMS =
if DUMMY_LIBGEOIP
pkglib_LTLIBRARIES += libxqf_dummy_GeoIP.la
pkglib_PROGRAMS += libxqf_dummy_GeoIP.so.0
xqf_DEPENDENCIES += libxqf_dummy_GeoIP.so
endif
if DUMMY_LIBGDKPIXBUF
pkglib_LTLIBRARIES += libxqf_dummy_gdk_pixbuf.la
pkglib_PROGRAMS += libxqf_dummy_gdk_pixbuf.so.0
xqf_DEPENDENCIES += libxqf_dummy_gdk_pixbuf.so
endif
libxqf_dummy_gdk_pixbuf.c:
$(top_srcdir)/src/gensyms.pl -x gdk_pixbuf_new_from_file,gdk_pixbuf_render_pixmap_and_mask,gdk_pixbuf_unref /opt/gnome/lib/libgdk_pixbuf.so -o $(top_srcdir)/src/libxqf_dummy_gdk_pixbuf.c || rm $(top_srcdir)/src/libxqf_dummy_gdk_pixbuf.c
$(top_srcdir)/src/gensyms.pl -x gdk_pixbuf_new_from_file,gdk_pixbuf_render_pixmap_and_mask,gdk_pixbuf_unref $(DUMMY_LIBGDKPIXBUF_ORIG) -o $(top_srcdir)/src/libxqf_dummy_gdk_pixbuf.c || rm $(top_srcdir)/src/libxqf_dummy_gdk_pixbuf.c
test -s $(top_srcdir)/src/libxqf_dummy_gdk_pixbuf.c
libxqf_dummy_gdk_pixbuf_la_SOURCES = libxqf_dummy_gdk_pixbuf_stubs.c
nodist_libxqf_dummy_gdk_pixbuf_la_SOURCES = libxqf_dummy_gdk_pixbuf.c
libxqf_dummy_gdk_pixbuf_la_LDFLAGS = -nostdlib -shared -Wl,-f,libgdk_pixbuf.so.2
libxqf_dummy_gdk_pixbuf_la_LIBADD =
nodist_libxqf_dummy_gdk_pixbuf_so_0_SOURCES = libxqf_dummy_gdk_pixbuf.c
libxqf_dummy_gdk_pixbuf_so_0_SOURCES = libxqf_dummy_gdk_pixbuf_stubs.c
libxqf_dummy_gdk_pixbuf_so_0_LDFLAGS = -nostdlib -shared -Wl,-f,$(DUMMY_LIBGDKPIXBUF_SONAME) -Wl,-soname,libxqf_dummy_gdk_pixbuf.so.0
libxqf_dummy_gdk_pixbuf_so_0_CFLAGS = -fPIC -DPIC
libxqf_dummy_gdk_pixbuf.so: libxqf_dummy_gdk_pixbuf.so.0
rm -f $@
$(LN_S) $< $@
libxqf_dummy_GeoIP.c:
$(top_srcdir)/src/gensyms.pl -x GeoIP_new,GeoIP_open $(DUMMY_LIBGEOIP_ORIG) -o $(top_srcdir)/src/libxqf_dummy_GeoIP.c || rm $(top_srcdir)/src/libxqf_dummy_GeoIP.c
test -s $(top_srcdir)/src/libxqf_dummy_GeoIP.c
libxqf_dummy_GeoIP_la_SOURCES = libxqf_dummy_GeoIP_stubs.c
nodist_libxqf_dummy_GeoIP_la_SOURCES = libxqf_dummy_GeoIP.c
libxqf_dummy_GeoIP_la_LDFLAGS = -nostdlib -shared -Wl,-f,$(DUMMY_LIBGEOIP_SONAME)
libxqf_dummy_GeoIP_la_LIBADD =
nodist_libxqf_dummy_GeoIP_so_0_SOURCES = libxqf_dummy_GeoIP.c
libxqf_dummy_GeoIP_so_0_SOURCES = libxqf_dummy_GeoIP_stubs.c
libxqf_dummy_GeoIP_so_0_LDFLAGS = -nostdlib -shared -Wl,-f,$(DUMMY_LIBGEOIP_SONAME) -Wl,-soname,libxqf_dummy_GeoIP.so.0
libxqf_dummy_GeoIP_so_0_CFLAGS = -fPIC -DPIC
libxqf_dummy_GeoIP.so: libxqf_dummy_GeoIP.so.0
rm -f $@
$(LN_S) $< $@
CLEANFILES = $(nodist_libxqf_dummy_gdk_pixbuf_la_SOURCES) $(nodist_libxqf_dummy_GeoIP_la_SOURCES)
CLEANFILES = \
$(nodist_libxqf_dummy_gdk_pixbuf_so_0_SOURCES) \
$(nodist_libxqf_dummy_GeoIP_so_0_SOURCES) \
libxqf_dummy_GeoIP.so \
libxqf_dummy_gdk_pixbuf.so
gamelist: gamesxml2c
$(top_builddir)/src/gamesxml2c $(top_srcdir)/src/games.xml > $(top_srcdir)/src/games.c

View File

@ -26,18 +26,37 @@ my $versfile;
my $outfile;
my $weak;
sub help($)
{
print <<EOF;
Generate stub functions for library symbols
Usage: $0 OPTIONS LIBRARY
OPTIONS:
-x <SYM1[,SYM2[,...]]> exclude symbols from list
-v <FILE> write version map into FILE
-o <FILE> write C code into FILE
--weak generate weak symbols
--help this screen
EOF
exit(shift);
}
Getopt::Long::Configure("no_ignore_case");
GetOptions (
"x=s@" => $except,
"v=s" => \$versfile,
"o=s" => \$outfile,
"weak" => \$weak,
"h|help" => sub { help(0); }
) or exit(1);
if(!$outfile)
{
print STDERR "no output file specified\n";
exit(1);
help(1);
}
$except = { map { $_ => 1 } split(/,/,join(',',@{$except}))};
@ -50,21 +69,9 @@ print OUT "static void segv(void) { char* die = 0; ++*die; }\n";
foreach my $file (@ARGV)
{
my %syms;
my %seen;
open (IN, "/usr/bin/nm -D $file|");
while(<IN>)
{
my ($addr, $type, $sym) = split(/ +/);
next unless ($type eq 'T' || $type eq 'W');
chomp $sym;
next if (exists($except->{$sym}));
$syms{$sym}=1;
}
close IN;
open (IN, "/usr/bin/readelf -W --symbols $file|");
open (IN, "/usr/bin/readelf -W --symbols $file|") or die;
while(<IN>)
{
my ($sym, $ver, $at);
@ -74,7 +81,13 @@ foreach my $file (@ARGV)
next unless $#f >= 6;
next unless $f[2] eq 'FUNC';
next unless $f[3] eq 'GLOBAL';
next unless $f[5] =~ /\d+/;
$sym = $f[6];
next if exists $seen{$sym};
$seen{$sym} = 1;
if($sym =~ /(.*?)(\@\@?)(.*)/)
{
$sym = $1;
@ -82,8 +95,7 @@ foreach my $file (@ARGV)
$ver = $3;
}
next unless exists $syms{$sym};
delete $syms{$sym};
next if exists $except->{$sym};
if($ver)
{

View File

@ -100,9 +100,7 @@ static struct keyword keywords[] = {
{ "q1_custom_cfg", KEYWORD_STRING,"/" CONFIG_FILE "/Game: QS/custom cfg" },
{ "qw_custom_cfg", KEYWORD_STRING,"/" CONFIG_FILE "/Game: QWS/custom cfg" },
{ "q2_custom_cfg", KEYWORD_STRING,"/" CONFIG_FILE "/Game: Q2S/custom cfg" },
#ifdef QSTAT23
{ "q3_custom_cfg", KEYWORD_STRING,"/" CONFIG_FILE "/Game: Q3S/custom cfg" },
#endif
{ "q1_dir", KEYWORD_STRING,"/" CONFIG_FILE "/Game: QS/dir" },
{ "q1_cmd", KEYWORD_STRING,"/" CONFIG_FILE "/Game: QS/cmd" },
@ -110,10 +108,8 @@ static struct keyword keywords[] = {
{ "qw_cmd", KEYWORD_STRING,"/" CONFIG_FILE "/Game: QWS/cmd" },
{ "q2_dir", KEYWORD_STRING,"/" CONFIG_FILE "/Game: Q2S/dir" },
{ "q2_cmd", KEYWORD_STRING,"/" CONFIG_FILE "/Game: Q2S/cmd" },
#ifdef QSTAT23
{ "q3_dir", KEYWORD_STRING,"/" CONFIG_FILE "/Game: Q3S/dir" },
{ "q3_cmd", KEYWORD_STRING,"/" CONFIG_FILE "/Game: Q3S/cmd" },
#endif
{ "hl_dir", KEYWORD_STRING,"/" CONFIG_FILE "/Game: HLS/dir" },
{ "hl_cmd", KEYWORD_STRING,"/" CONFIG_FILE "/Game: HLS/cmd" },