[Scribus] Success: compile Mac/Aqua from CVS without patches

Craig Ringer craig
Wed Mar 23 10:54:15 CET 2005


On Wed, 2005-03-23 at 09:42 +0100, Martin Costabel wrote:

> We could discuss them one by one, once I have found out which ones I am 
> still needing for 1.3cvs. Unfortunately, I don't have much time, so I 
> was just able to run a quick compilation; it convinced me that a few of 
> these patches are still needed, at least for me.

Here's a rough description of the status of integration for the various
bits in the .info file you posted, along with comments and questions.
I'm probably wrong about or misunderstanding a few of those that follow,
so feel free to correct me.

Remember that I can _NOT_ change configure, configure.in, the Makefile
or Makefile.in files; changes must be made to configure.in.in and the
Makefile.am files only. That means most of your changes must be adapted
somewhat to be suitable for integration.

Additionally, some of them I just don't understand, or can't see why
they're there as I have had no issues with the thing they appear to be
attempting to fix. More info about these would be great.

Anyway, comments follow. Please inform me where I'm being an idiot.

-- Patch script

Plugin `Makefile' S&R:
	Equivalent merged. The plugin makefiles were altered to use the
	-module argument  to libtool, which should cause them to be
	linked in the correct  platform specific manner. The effect
	should be much the same as the explicit addition of the flags
	you do in your Makefile script, but will work on all supported
	platforms.

Freetype `configure' S&R:

	Not merged. The explicit use of a path to a particular
	Freetype version is probably not suitable for inclusion in
	mainline CVS. I'm not sure I even understand what the
	S&R for :
		LIBS="-lfreetype
	and replacement with:
		LIBS="$LIBFREETYPE_LIBS
	is for, given that -lfreetype is never hardcoded in
	configure.in.in . Anyway, it looks like that line
	reads, in both places it appears:
		LIBS="-lfreetype "$LIBFREETYPE_LIBS" $LIBS"
	so I don't understand the point anyway.

Libtool --silent `configure' S&R:
	Not merged. Tries to remove the --silent argument
	to libtool, as far as I can tell. I don't understand
	why, and again that doesn't appear to come from
	our build files anyway (rather, it's from the KDE
	build scripts).

Python changes in `configure' and `Makefile.in':
	Not merged. I haven't looked at the Python stuff yet.
	It looks like we'll need a way to detect whether Python
	should by linked with -lpython?? or with "-framework Python"
	unless this is already provided by configure. Whatever
	changes are required must be translated so they can be made
	to configure.in.in and Makefile.am, and in a way that does
	not break anything for other platforms, so whatever eventually
	gets merged will have to be pretty different to what you
	have there.

Indirect linking changes:
	Not yet merged. I'm going to play around with that stuff
	next time I get the chance and see what's going on. An
	explanation of what that does, why it's needed, and what
	breaks if it's missing would be very helpful. Again,
	changes would have to be made to the Makefile.am, but
	in this case that's trivial.

Declarations fixes:
	Not merged. I need more info on these - what MacOS/X versions,
	gcc verisons etc they're required for, for example. I didn't
	notice any problems with any of the listed function calls
	on MacOS/X 10.3 (which is what I'm currently targeting.
	MacOS/X 10.2 will probably be obsolete by the time 1.3 is being
	stabilized for release.).

strndup:
	Not yet merged. Should probably go, since as you note only
	a strdup is required. However, strndup(...) is present on
	MacOS/X 10.3 .

-- Compile script

Environment changes:
	Those are appropriate to do as you do them currently. I don't
	see how or why most should be integrated into the build scripts.
	If you think some should (I'm not saying I think you do, but
	if you do) then please let me know why.

Configure command:
	You should be able to do away with the --with-extra-{blah} by
	setting your DYLD_LIBRARY_PATH, LIBRARY_PATH, and CPATH
	correctly. Some of the other changes you made to the makefiles
	and configure may be helped by setting PKG_CONFIG_PATH too.
	
	I'm surprised you have to use --with-qt-dir given
	that you set QTDIR - I presume this is related to the issues
	with picking up the wrong Qt at times. I haven't looked
	at this since I don't have Qt/x11 installed yet.

X11 linking:
	Equivalent merged; we now link to $(LIB_X11) instead, and the
	KDE build system sets that to "" if building against Qt/Mac.

LIBFONTCONFIG_LIBS changes:
	Not yet merged. This appears to be a fontconfig bug - fontconfig
	requires expat to link correctly, but does not include -lexpat
	in its fontconfig.la . I wanted to look into this more before
	making any build system changes, especially since fontconfig
	is linked fine on otherplatforms (ie, what's different
	about fontconfig on OS/X?). I don't understand the purpose
	of the explict -L%p/lib ; that should be handled by a
	LIBRARY_PATH env var or by 'pkg-config --libs fontconfig' .
	Maybe fink's fontconfig needs to include a -L directive in
	it's .pc file and you need to make sure that .pc file is first
	on the PKG_CONFIG_PATH ?

Addition of $(LIBFREETYPE_LIBS) to scribus/Makefile's AM_LDFLAGS:
	Not merged; This appears to be redundant, since
	$(LIBFREETYPE_LIBS) is already in Makefile.am .

I'm not sure if I missed anything. Please let me know if so.

--
Craig Ringer





More information about the scribus mailing list