With supplied Makefile make runs the following command:

gcc  -g -O2 -Wall -O2  -lXtst -lXinerama -lXext -lX11   -lXft
-lXrender -lfontconfig -lexpat -liconv -lfreetype -lz -lX11 -lxcb
-lXau -lXdmcp   -lhistory  -o ratpoison.exe actions.o bar.o
completions.o communications.o editor.o events.o format.o frame.o
getopt.o getopt1.o globals.o group.o history.o hook.o input.o
linkedlist.o main.o manage.o number.o sbuf.o screen.o split.o window.o
xinerama.o

which fails, apparently because libraries must be specified after
object files, not before.
Automake manual says to use _LDADD for libraries, not _LDFLAGS.

With the following patch applied

===

diff -u ratpoison-1.4.5/src/Makefile.am ratpoison-1.4.5-p/src/Makefile.am
--- ratpoison-1.4.5/src/Makefile.am     2009-07-07 03:45:38.000000000 +0300
+++ ratpoison-1.4.5-p/src/Makefile.am   2009-12-29 10:34:06.953125000 +0200
@@ -22,7 +22,8 @@
 bin_PROGRAMS           = ratpoison
 MAINTAINERCLEANFILES = Makefile.in config.h.in

-AM_LDFLAGS=${X_LDFLAGS} ${X_LIBS} ${X_EXTRA_LIBS} ${XFT_LIBS} ${HISTORY_LIBS}
+AM_LDFLAGS=${X_LDFLAGS}
+LDADD=${X_LIBS} ${X_EXTRA_LIBS} ${XFT_LIBS} ${HISTORY_LIBS}
 AM_CPPFLAGS=${X_CFLAGS} ${XFT_CFLAGS}

 ratpoison_SOURCES      = actions.c             \

===

the build command looks like

gcc  -g -O2 -Wall -O2   -o ratpoison.exe actions.o bar.o completions.o
communications.o editor.o events.o format.o frame.o getopt.o getopt1.o
globals.o group.o history.o hook.o input.o linkedlist.o main.o
manage.o number.o sbuf.o screen.o split.o window.o xinerama.o -lXtst
-lXinerama -lXext -lX11   -lXft -lXrender -lfontconfig -lexpat -liconv
-lfreetype -lz -lX11 -lxcb -lXau -lXdmcp   -lhistory

which succeeds. This should work on *nix too, though I haven't tested it yet.

Best redargs,
Sergey


_______________________________________________
Ratpoison-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/ratpoison-devel

Reply via email to