2025-07-02 07:41 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0000934Spring engineGeneralpublic2008-06-15 12:43
ReporterRalith 
Assigned ToILMTitan 
PrioritynormalSeverityfeatureReproducibilityalways
StatusresolvedResolutionfixed 
Product Version0.76b1 
Target VersionFixed in Version 
Summary0000934: FreeBSD 7.0-STABLE support in the build system [patch]
DescriptionThis patch allows the build system to function on FreeBSD 7.0-STABLE, and probably most other recent versions. More patches coming for spring's code itself.
TagsNo tags attached.
Checked infolog.txt for Errors
Attached Files
  • patch file icon freebsd-build.patch (2,129 bytes) 2008-05-15 05:16 -
    *** rts/build/scons/config.py	2008-05-14 20:01:11.000000000 -0700
    --- rts/build/scons/config.py	2007-12-18 03:56:55.000000000 -0800
    ***************
    *** 73,84 ****
      		# Everything lives in mingwlibs anyway...
      		#if os.environ.has_key('MINGDIR'):
      		#	path += [os.path.join(os.path.join(os.environ['MINGDIR'], 'include'), subdir)]
      	elif env['platform'] == 'darwin':
      		path = [os.path.join('/opt/local/include', subdir)]
    - 	elif env['platform'] == 'freebsd':
    - 		path = [os.path.join('/usr/local/include', subdir)]
      	else:
      		path = [os.path.join('/usr/include', subdir)]
      	env.AppendUnique(CPPPATH = path)
      	for f in path:
      		print f,
    --- 73,82 ----
    ***************
    *** 212,225 ****
      		env.AppendUnique(CPPPATH = [os.path.join(env['javapath'], "linux")])
      		return
      	if env['platform'] == 'windows':
      		guess_include_path(env, conf, 'Java', 'java')
      		return
    - 	if os.path.exists("/usr/local/jdk1.6.0/include"):
    - 		env.AppendUnique(CPPPATH = '/usr/local/jdk1.6.0/include')
    - 		env.AppendUnique(CPPPATH = '/usr/local/jdk1.6.0/include/freebsd')
    - 		return
      	possible_dirs = []
      	for root in ["/usr/local/lib/jvm", "/usr/local/lib64/jvm", "/usr/lib/jvm", "/usr/lib64/jvm", "/usr/java"]:
      		if os.path.exists(root) and os.path.isdir(root):
      			dirs = os.listdir(root)
      			for dir in dirs:
    --- 210,219 ----
    *** SConstruct	2008-05-14 20:02:44.000000000 -0700
    --- SConstruct	2007-12-05 14:07:46.000000000 -0800
    ***************
    *** 197,210 ****
      		cmd = "STREFLOP_SSE=1 " + cmd
      	else:
      		cmd = "STREFLOP_X87=1 " + cmd
      	if env.GetOption('clean'):
      		cmd += " clean"
    ! 	if env['platform'] == 'freebsd':
    ! 		status = os.system("gmake " + cmd)
    ! 	else:
    ! 		status = os.system("make " + cmd)
      	if status != 0:
      		print "Failed building streflop!"
      		env.Exit(1)
      	else:
      		print "Succes building streflop!"
    --- 197,207 ----
      		cmd = "STREFLOP_SSE=1 " + cmd
      	else:
      		cmd = "STREFLOP_X87=1 " + cmd
      	if env.GetOption('clean'):
      		cmd += " clean"
    ! 	status = os.system("make " + cmd)
      	if status != 0:
      		print "Failed building streflop!"
      		env.Exit(1)
      	else:
      		print "Succes building streflop!"
    
    patch file icon freebsd-build.patch (2,129 bytes) 2008-05-15 05:16 +
  • patch file icon freebsd-svn.patch (2,307 bytes) 2008-05-15 06:41 -
    Index: SConstruct
    ===================================================================
    --- SConstruct	(revision 5890)
    +++ SConstruct	(working copy)
    @@ -203,7 +203,10 @@
     		cmd = "STREFLOP_X87=1 " + cmd
     	if env.GetOption('clean'):
     		cmd += " clean"
    -	status = os.system("make " + cmd)
    +	if env['platform'] == 'freebsd':
    +		status = os.system("gmake " + cmd)
    +	else:
    +		status = os.system("make " + cmd)
     	if status != 0:
     		# try with mingw32-make
     		status = os.system("mingw32-make " + cmd)
    Index: rts/System/Platform/Linux/DotfileHandler.h
    ===================================================================
    --- rts/System/Platform/Linux/DotfileHandler.h	(revision 5890)
    +++ rts/System/Platform/Linux/DotfileHandler.h	(working copy)
    @@ -14,6 +14,10 @@
     
     #include "Platform/ConfigHandler.h"
     
    +#ifdef __FreeBSD__
    +#include <sys/stat.h>
    +#endif
    +
     #include <stdio.h>
     #include <string>
     #include <map>
    Index: rts/System/Net/Socket.h
    ===================================================================
    --- rts/System/Net/Socket.h	(revision 5890)
    +++ rts/System/Net/Socket.h	(working copy)
    @@ -7,6 +7,9 @@
     #ifdef _WIN32
     #include <windows.h>
     #else
    +#ifdef __FreeBSD__
    +#include <sys/socket.h>
    +#endif
     #include <netinet/in.h>
     #endif
     
    Index: rts/build/scons/config.py
    ===================================================================
    --- rts/build/scons/config.py	(revision 5890)
    +++ rts/build/scons/config.py	(working copy)
    @@ -75,6 +75,8 @@
     		#	path += [os.path.join(os.path.join(os.environ['MINGDIR'], 'include'), subdir)]
     	elif env['platform'] == 'darwin':
     		path = [os.path.join('/opt/local/include', subdir)]
    +	elif env['platform'] == 'freebsd':
    +		path = [os.path.join('/usr/local/include', subdir)]
     	else:
     		path = [os.path.join('/usr/include', subdir)]
     	env.AppendUnique(CPPPATH = path)
    @@ -212,6 +214,10 @@
     	if env['platform'] == 'windows':
     		guess_include_path(env, conf, 'Java', 'java')
     		return
    +	if os.path.exists('/usr/local/jdk1.6.0/include'):
    +		env.AppendUnique(CPPPATH = '/usr/local/jdk1.6.0/include')
    +		env.AppendUnique(CPPPATH = '/usr/local/jdk1.6.0/include/' + env['platform'])
    +		return
     	possible_dirs = []
     	for root in ["/usr/local/lib/jvm", "/usr/local/lib64/jvm", "/usr/lib/jvm", "/usr/lib64/jvm", "/usr/java"]:
     		if os.path.exists(root) and os.path.isdir(root):
    
    patch file icon freebsd-svn.patch (2,307 bytes) 2008-05-15 06:41 +

-Relationships
+Relationships

-Notes

~0002278

Ralith (reporter)

freebsd-svn.patch is a complete patch relative to latest SVN which enables Spring to be built on FreeBSD 7.0-STABLE without apparent error. The resulting binary is, however, untested.

~0002284

Ralith (reporter)

Binary tested; requires patch at http://spring.clan-sy.com/mantis/view.php?id=938 to avoid spam of sync warnings, and appears otherwise functional.

~0002335

ILMTitan (reporter)

Committed. Thank you.
Revision 6032 "Bug 0000934: Commit patch by Ralith. Changes the build system to allow building in FreeBSD."
+Notes

-Issue History
Date Modified Username Field Change
2008-05-15 05:16 Ralith New Issue
2008-05-15 05:16 Ralith File Added: freebsd-build.patch
2008-05-15 06:41 Ralith File Added: freebsd-svn.patch
2008-05-15 06:43 Ralith Note Added: 0002278
2008-05-15 16:27 ILMTitan Status new => assigned
2008-05-15 16:27 ILMTitan Assigned To => ILMTitan
2008-05-16 02:24 Ralith Note Added: 0002284
2008-06-15 12:43 ILMTitan Status assigned => resolved
2008-06-15 12:43 ILMTitan Resolution open => fixed
2008-06-15 12:43 ILMTitan Note Added: 0002335
+Issue History