diff -ru tamarin-central.org/MMgc/manifest.mk tamarin-central/MMgc/manifest.mk --- tamarin-central.org/MMgc/manifest.mk 2008-04-25 11:16:16.000000000 +0900 +++ tamarin-central/MMgc/manifest.mk 2008-04-25 12:34:11.000000000 +0900 @@ -92,4 +92,12 @@ $(NULL) endif +ifeq (freebsd,$(TARGET_OS)) +MMgc_CXXSRCS := $(MMgc_CXXSRCS) \ + $(curdir)/GCAllocObjectUnix.cpp \ + $(curdir)/GCDebugUnix.cpp \ + $(curdir)/GCHeapUnix.cpp \ + $(NULL) +endif + $(curdir)/GCDebugMac.$(OBJ_SUFFIX): CXXFLAGS += -Wno-deprecated-declarations diff -ru tamarin-central.org/build/configuration.py tamarin-central/build/configuration.py --- tamarin-central.org/build/configuration.py 2008-04-25 11:16:16.000000000 +0900 +++ tamarin-central/build/configuration.py 2008-04-25 11:35:23.000000000 +0900 @@ -77,6 +77,8 @@ os = 'linux' elif ostest.startswith('sunos'): os = 'sunos' + elif ostest.startswith('freebsd'): + os = 'freebsd' else: raise Exception('Unrecognized OS: ' + ostest) @@ -257,6 +259,18 @@ 'MKSTATICLIB' : '$(AR) cr $(1)', 'MKPROGRAM' : '$(CXX) -o $(1)' }) + elif self._target[0] == 'freebsd': + self._acvars.update({ + 'CPPFLAGS' : os.environ.get('CPPFLAGS', ''), + 'CXX' : os.environ.get('CXX', 'g++'), + 'CXXFLAGS' : os.environ.get('CXXFLAGS', ''), + 'DLL_CFLAGS' : '-fPIC', + 'LD' : 'ar', + 'LDFLAGS' : '', + 'MKSTATICLIB' : '$(AR) cr $(1)', + 'MKDLL' : '$(CXX) -shared -o $(1)', + 'MKPROGRAM' : '$(CXX) -o $(1)' + }) def getDebug(self): return self._debug diff -ru tamarin-central.org/configure.py tamarin-central/configure.py --- tamarin-central.org/configure.py 2008-04-25 11:16:16.000000000 +0900 +++ tamarin-central/configure.py 2008-04-25 11:45:59.000000000 +0900 @@ -162,6 +162,14 @@ APP_CPPFLAGS += '-DAVMPLUS_CDECL ' if config.getDebug(): OS_LIBS.append("dl") +elif os == "freebsd": + MMGC_DEFINES.update({'UNIX': None, + 'AVMPLUS_UNIX': None, + 'LINUX': None}) + OS_LIBS.append('pthread') + APP_CPPFLAGS += '-DAVMPLUS_CDECL -DHAVE_PTHREAD_NP_H ' + if config.getDebug(): + OS_LIBS.append("dl") else: raise Exception("Unsupported OS") diff -ru tamarin-central.org/manifest.mk tamarin-central/manifest.mk --- tamarin-central.org/manifest.mk 2008-04-25 11:16:18.000000000 +0900 +++ tamarin-central/manifest.mk 2008-04-25 12:10:26.000000000 +0900 @@ -59,6 +59,9 @@ ifeq (sunos,$(TARGET_OS)) $(call RECURSE_DIRS,platform/unix) endif +ifeq (freebsd,$(TARGET_OS)) +$(call RECURSE_DIRS,platform/unix) +endif endif $(call RECURSE_DIRS,shell)