Tuby128 kérésére rövid leírás az emulátor fordításáról Windowson. Ehhez a következőkre van szükség:
*
az aktuális Git forráskód (.zip formátumban letölthető)
- (hasonló módon fordítható a plus4emu is, ami
innen tölthető le, néháy újdonság egyébként is van csak a forráskódban)
*
Python 2.7*
SCons 3.0* MinGW csomag (
32 bites vagy
64 bites), ez ugyan meglehetősen régi verzió, de én ezt használtam, és mindent tartalmaz a fordításhoz (FLTK, stb.)
Ha a fentiek mind megvannak, akkor megfelelően be kell állítani a PATH környezeti változót, hogy a rendszer mindent megtaláljon (python.exe, gcc.exe, stb.). A MinGW-t célszerű C:\ alatt kicsomagolni, hogy a C++ fordító C:\mingw64\bin\g++.exe vagy C:\mingw32\bin\g++.exe útvonalon legyen elérhető.
Az SConstruct file-ban Windowson történő fordításnál jelenleg van néhány hiba, amelyek az alábbi módosításokkal javíthatók:
@@ -39,12 +39,9 @@
compilerFlags = ' -Wno-long-long -Wshadow -g -O0 ' + compilerFlags
compilerFlags = ' -Wall -W -pedantic ' + compilerFlags
else:
compilerFlags = ' -Wall -O3 ' + compilerFlags
- if (os.uname()[4][:5] == 'armv7'):
- compilerFlags = compilerFlags + ' -mtune=generic-armv7-a '
- else:
- compilerFlags = compilerFlags + ' -mtune=generic '
+ compilerFlags = compilerFlags + ' -mtune=generic '
compilerFlags = compilerFlags + ' -fno-inline-functions '
compilerFlags = compilerFlags + ' -fomit-frame-pointer -ffast-math '
# -----------------------------------------------------------------------------
@@ -175,10 +172,9 @@
if oldSConsVersion:
return env.Copy()
return env.Clone()
-ep128emuLibEnvironment = Environment(ENV = { 'PATH' : os.environ['PATH'],
- 'HOME' : os.environ['HOME'] })
+ep128emuLibEnvironment = Environment(ENV = { 'PATH' : os.environ['PATH'] })
if linux32CrossCompile:
compilerFlags = ' -m32 ' + compilerFlags
ep128emuLibEnvironment.Append(CCFLAGS = Split(compilerFlags))
ep128emuLibEnvironment.Append(CPPPATH = ['.', './src'])
@@ -359,9 +355,9 @@
if flName.endswith('.fl'):
cppName = flName[:-3] + '_fl.cpp'
hppName = flName[:-3] + '_fl.hpp'
Command([cppName, hppName], flName,
- 'fluid -c -o %s -h %s $SOURCES' % (cppName, hppName))
+ 'C:\\mingw64\\bin\\fluid.exe -c -o %s -h %s $SOURCES' % (cppName, hppName))
cppNames += [cppName]
return cppNames
ep128emuLibSources = Split('''
Fordításra az alábbi parancsok használhatók (ezek csak példák, a paraméterek listája
itt olvasható):
scons win64=1 midi=0 - 64 bites verzió MIDI támogatás nélkül
scons win32=1 midi=0 - 32 bites verzió MIDI támogatás nélkül
scons win64=1 midi=1 - 64 bites verzió MIDI támogatással (régi Windowsokon nem biztos, hogy működik)
scons win64=1 midi=1 -c - a fordítás során létrejött file-ok törlése (clean)
scons win64=1 midi=1 -j 4 - párhuzamos fordítás négy szálon, sokkal gyorsabb, de Windowson Python bővítés telepítését igényelheti