Subject: build system
From: Julian Ospald <[email-masked]>
Date: Tue Sep 25 13:18:57 UTC 2012

fix gold linker compilation
https://bugs.gentoo.org/show_bug.cgi?id=435826

--- a/configure.in
+++ b/configure.in
@@ -44,6 +44,9 @@
 AC_PROG_INSTALL
 AC_PROG_LN_S
 AC_PROG_MAKE_SET
+AC_PATH_PROG([PKGCONFIG], [pkg-config])
+AS_IF([test "x$PKGCONFIG" = "x"],
+    [AC_MSG_ERROR([pkg-config not found!])])
 
 AC_CHECK_PROGS(BUILD_CC,gcc cc ${CC},gcc)
 AC_CHECK_PROG(AR,${AR:-ar},${AR:-ar},ar)
@@ -55,6 +58,10 @@
 dnl doesn't work if gd isn't where the compiler can find it
 dnl AC_CHECK_LIB(gd, gdImageCreateFromGif)
 
+PKG_CHECK_MODULES([X], [x11])
+PKG_CHECK_MODULES([Z], [zlib])
+PKG_CHECK_MODULES([PNG], [libpng])
+
 dnl Checks for header files.
 
 AC_PATH_XTRA
@@ -69,57 +76,6 @@
 AC_FUNC_UTIME_NULL
 AC_CHECK_FUNCS(gettimeofday mkdir strdup strstr)
 
-opt_gd=
-AC_ARG_WITH(z,[  --with-z=DIR           location of the ZLIB library],opt_z=$withval)
-AC_ARG_WITH(png,[  --with-png=DIR          location of the PNG library],opt_png=$withval)
-
-case "$with_z" in
-  yes|no) AC_MSG_ERROR([
-*** Directory must be specified for --with-z])
-    ;;
-  "")
-    Z_CFLAGS=
-    Z_LIBS=-lz
-    ;;
-  *)
-    if test -f $with_z/include/z.h
-    then
-      Z_CFLAGS=-I$with_z/include
-    else
-      Z_CFLAGS=-I$with_z
-    fi
-    if test -f $with_z/lib/libz.a
-    then
-      Z_LIBS=$with_z/lib/libz.a
-    else
-      Z_LIBS=$with_z/libz.a
-    fi
-    ;;
-esac
-
-case "$with_png" in
-  yes|no) AC_MSG_ERROR([
-*** Directory must be specified for --with-png])
-    ;;
-  "")
-    PNG_CFLAGS=
-    PNG_LIBS=
-    ;;
-  *)
-    if test -f $with_png/lib/png.h
-    then
-      PNG_CFLAGS=-I$with_png/lib
-    else
-      PNG_CFLAGS=-I$with_png/include/X11
-    fi
-    if test -f $with_png/lib/libPng.a
-    then
-      PNG_LIBS="-L$with_png/lib"
-    else
-      PNG_LIBS="-L$with_png"
-    fi
-    ;;
-esac
 
 AC_SUBST(Z_CFLAGS)
 AC_SUBST(Z_LIBS)
@@ -127,6 +83,9 @@
 AC_SUBST(PNG_CFLAGS)
 AC_SUBST(PNG_LIBS)
 
+AC_SUBST(X_LIBS)
+AC_SUBST(X_CFLAGS)
+
 AC_SUBST(PDA)
 
 AC_OUTPUT(Makefile lib/Makefile games/Makefile tests/Makefile)
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -5,18 +5,19 @@
 
 CLEANFILES = images.c images.d
 
-INCLUDES = $(X_CFLAGS) @PDA@
-AM_LDFLAGS = $(X_LIBS)
+INCLUDES = $(X_CFLAGS) $(PNG_CFLAGS) $(Z_CFLAGS) @PDA@
 
 BUILD_CC = @BUILD_CC@
 AR = @AR@
 STRIP = @STRIP@
 
-libcards_la_LDFLAGS = -version-info 1:0:0 $(AM_LDFLAGS)
+libcards_la_LDFLAGS = -version-info 1:0:0
 
 libcards_la_SOURCES = table.c help.c stack.c imagelib.c xwin.c \
 	images.c table_rn.c funcs.c
 
+libcards_la_LIBADD = $(X_LIBS) $(PNG_LIBS) $(Z_LIBS)
+
 # table_ai.c table_ck.c table_dc.c table_dg.c \
 #table_dp.c table_in.c table_ky.c table_rd.c table_rs.c
 
--- a/games/Makefile.am
+++ b/games/Makefile.am
@@ -30,8 +30,7 @@
 
 STRIP = @STRIP@
 
-INCLUDES = -I$(srcdir)/../lib $(X_CFLAGS) @PDA@
-AM_LDFLAGS = $(X_LIBS)
+INCLUDES = -I$(srcdir)/../lib @PDA@
 
 canfield_SOURCES = canfield.c canfield-img.c
 freecell_SOURCES = freecell.c freecell-help.c freecell-img.c
@@ -52,7 +51,7 @@
 	solitaire-help.c solitaire-img.c spider-help.c spider-img.c \
 	taipedit-help.c taipedit-img.c taipei-help.c taipei-img.c
 
-LDADD = ../lib/libcards.la -lpng -lz -lX11 -lm
+LDADD = ../lib/libcards.la -lm
 
 EXTRA_DIST = $(wildcard *.png) $(wildcard *.tp)