Q:  I obtained the Free Software Foundations libraries described in  ../Objective_C/C++_libraries.rtf, but they won't compile. What do I have to do to get them to compile?

A:  There are a couple of things that you must do in order to compile version 1.37.0 of libg++ on NEXTSTEP.

·	First, you must turn off the inclusion of libg++'s malloc routines.  You can do this by setting a compiler flag.  Edit the Makefile and search for MALLOC.  Remove the comment # indicator on the line which sets XTRAFLAGS to -DNO_LIBGXX_MALLOC.  It looks like this when you've finished:

	# Use this to disable placing libg++ version of malloc in libg++.a
	XTRAFLAGS = -DNO_LIBGXX_MALLOC
	
	You should also make this change in the Makefile in the tests directory.

· 	Also, if you are not using gnu make, you should change this line in the same Makefile:

	#PWD := $(shell pwd)

	to point to the directory in which the sources live.

·	Next, you must modify the time.h file. There are some conflicts with the time.h file which is shipped with libg++ and the time.h that comes with the NeXT system. Change the first few lines to look like this:

	#ifndef time_h
	#define time_h 1
	#ifdef NeXT
	#define _TIME_H 1
	#endif

·	Modify the Makefile in the src and the tests directory. Set GXX to cc++ and set VERBOSITY_FLAGS to -Wall (remove the -v flag. Changing verbosity isn't necessary, but with -v set you will get lots of useless messages.

	Like this:
	GXX = cc++
	VERBOSITY_FLAGS = -Wall

After doing each of these, the GNU libraries compile on NEXTSTEP.

See also: ../Objective_C/C++_libraries.rtf.

QA702

Valid for 2.0, 3.0