Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 1999-05

[patch] gtk Makefile

1 message · 1 person ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Sergio A. Kessler

"Michael A. Hess" el d�a Wed, 05 May 1999 02:18:56 -0400, escribi�:

Show quoted text 15 lines
Sergio A. Kessler wrote: > > this doesn't work work because in > override NEEDLIBDIR := $(NEEDLIBDIR) $(XLIBDIR) If you have your files setup exactly as they are taken from CVS then there isn't any reason why this shouldn't work. In fact I took this code right out of the gtk makefile. It was just left out of the lazarus makefile. > $(NEEDLIBDIR) take the value ../fcl ... and not ../fcl/linux ... NEEDUNITDIR deals with this not NEEDLIBDIR and it should be using ../fcl/$(OS_TARGET) which will set it to ../fcl/linux

yep, I confused NEEDLIBDIR with NEEDUNITDIR, NEEDLIBDIR is my problem

Show quoted text 16 lines
> the makefile.fpc does not deal with XLIBDIR and GTKLIBDIR, and yes, > it is better to stick with the current setup :) Not directly but it deals with the NEEDLIBDIR which is what you are loading with the XLIBDIR and GTKLIBDIR values. > I'm aiming at simplify the things, if the gtk and lazarus makefile > read the /etc/ld.so.conf there is no need to use XLIBDIR or GTKLIBDIR, > then you don't need to edit the makefile for different systems. Again you shouldn't need to edit the makefile for different systems. That is why they setup the makefile system the way they did. You have to make a specific makefile for each section such as lazarus but it determines your OS and setup for you. You might have to modify some variables such as XLIBDIR if you libraries are not in standard places but that is all you need to modify.

but it wouldn't be better if you don't have to modify anything ? in RH systems the X11 lib dir is at /usr/X11R6/lib and in others systems is in /usr/lib/X11

look at the following patch for the gtk Makefile:
_______________________________

--- Makefile.orig Tue Apr 20 19:20:46 1999
+++ Makefile Fri May 7 08:54:48 1999
@@ -26,11 +26,7 @@
# As default make only the units
DEFAULTUNITS=1

-# Linux only:
-# Where are the X11 libraries ?
-XLIBDIR = /usr/X11/lib
-# Where are the GTK libraries (if different from the X11 dir) -# GTKLIBDIR = /usr/lib
+SYSTEMLIBDIRS = $(shell cat /etc/ld.so.conf | awk '{ ORS=" "; print $$1 }')

##################################################################### # Real targets
@@ -41,12 +37,11 @@
UNITOBJECTS=glib gdk gtk
EXEOBJECTS=entry notebook scribble-simple clist ttt_test pixmap list

-ifdef XLIBDIR
-override NEEDLIBDIR := $(NEEDLIBDIR) $(XLIBDIR)
-endif
-ifdef GTKLIBDIR
-override NEEDLIBDIR := $(NEEDLIBDIR) $(GTKLIBDIR) +ifdef SYSTEMLIBDIRS
+override NEEDLIBDIR := $(NEEDLIBDIR) $(SYSTEMLIBDIRS) endif
+
+NEEDUNITDIR = ./gtk ./gdk

# add GCC directory to list of needed dirs.
NEEDGCCLIB=YES
_______________________________

the patch is Linus friendly (it remove code :), whitout this patch you can do a "make gtk" within gtk directory (because of the NEEDUNITDIR variable) and it will work on most systems where the gtk lib and the X lib are placed in different places.

I'm missing something ?

the patch is also attached, I will love if someone tell me if it will be commited to the CVS or not (or if it's horrible)

Sergio
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bin00001.bin
Type: application/octet-stream
Size: 909 bytes
Desc: "Makefile.gtk.patch"
Url : http://localhost/pipermail/lazarus/attachments/19990505/fe2dc5b3/bin00001.bin

Reply by email