Flint will not build in 64-bit mode on my Xeo based Open Solaris machine, so I decided to look at the package.
In patches/makefile of the flint package there are a few things that do not make a lot of sense to me. For the most part, the original flint makefile makes more sence, though I gather this is added to support shared libraries. 1) 1) First, sage-env will set CC to gcc if nothing else is defined, so I'm not quite sure why one needs to set a compiler in the makefile. ifndef FLINT_CC FLINT_CC = gcc endif 2) Secondly, is MAKECMDGOALS defined anywhere? If so, I can't find it, so the following makes no sense to me. ifeq ($(MAKECMDGOALS),library) CC = $(FLINT_CC) -fPIC -std=c99 else CC = $(FLINT_CC) -std=c99 endif ifeq ($(MAKECMDGOALS),library) CC = $(FLINT_CC) -fPIC -std=c99 else CC = $(FLINT_CC) -std=c99 endif Then a bit further down: ifndef FLINT_CPP FLINT_CPP = g++ endif CPP = $(FLINT_CPP) I can't work out why anyone would use the variable name CPP for what will be a C++ compiler. Why not CXX? The further down:1 LIBS2 = -L$(FLINT_GMP_LIB_DIR) -L$(FLINT_NTL_LIB_DIR) $(FLINT_LINK_OPTIONS) -lgmp -lpthread -lntl -lm but FLINT_LINK_OPTIONS is not defined anywhere I can find, nor is FLINT_GMP_LIB_DIR. There seems to be a few portability issues with this too, which I can probably resolve. * -fPIC is a GNU specific flag. * -std=c99 is GNU specific flag. * -shared is a GCC specific flag It looks like someone had gone to quite a bit of trouble to patch the flint makefile, but I can't work out what is supposed to be happening. A lot looks to be doing nothing useful to me. Dave -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org