fxruby 1.6.28-x64-mingw32 → 1.6.29-x64-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -7
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +3 -2
- data/.gitignore +1 -1
- data/History.txt +13 -1
- data/Manifest.txt +1 -1
- data/Rakefile +49 -39
- data/examples/RAA.rb +8 -2
- data/examples/WhatAQuietStiff.rb +2 -2
- data/examples/babelfish.rb +9 -2
- data/examples/browser.rb +1 -1
- data/examples/button.rb +3 -9
- data/examples/canvasdemo.rb +3 -3
- data/examples/charts.rb +9 -2
- data/examples/dctest.rb +4 -10
- data/examples/gembrowser.rb +4 -4
- data/examples/gltest.rb +3 -3
- data/examples/glviewer.rb +3 -9
- data/examples/groupbox.rb +3 -9
- data/examples/header.rb +1 -1
- data/examples/hello2.rb +1 -1
- data/examples/iRAA.rb +7 -1
- data/examples/iconlist.rb +3 -9
- data/examples/imageviewer.rb +3 -9
- data/examples/mditest.rb +1 -1
- data/examples/raabrowser.rb +8 -2
- data/examples/rmagick.rb +7 -1
- data/examples/shutter.rb +3 -9
- data/examples/splitter.rb +3 -9
- data/examples/table.rb +26 -3
- data/examples/textedit/textedit.rb +3 -3
- data/ext/fox16_c/FXRbApp.cpp +1 -1
- data/ext/fox16_c/FXRuby.cpp +18 -9
- data/ext/fox16_c/extconf.rb +252 -11
- data/ext/fox16_c/include/FXRbTreeList.h +3 -3
- data/ext/fox16_c/include/FXRuby.h +7 -6
- data/ext/fox16_c/markfuncs.cpp +3 -22
- data/ext/fox16_c/unregisterOwnedObjects.cpp +1 -2
- data/lib/2.0/fox16_c.so +0 -0
- data/lib/2.1/fox16_c.so +0 -0
- data/lib/2.2/fox16_c.so +0 -0
- data/lib/fox16.rb +16 -6
- data/lib/fox16/core.rb +14 -0
- data/lib/fox16/glshapes.rb +1 -0
- data/lib/fox16/version.rb +1 -1
- data/lib/x64-mingw32/libFOX-1.6-0.dll +0 -0
- data/lib/x64-mingw32/libfxscintilla-20.dll +0 -0
- data/lib/x64-mingw32/libgcc_s_sjlj-1.dll +0 -0
- data/lib/x64-mingw32/libjpeg-8.dll +0 -0
- data/lib/x64-mingw32/libpng15-15.dll +0 -0
- data/lib/x64-mingw32/libstdc++-6.dll +0 -0
- data/lib/x64-mingw32/libtiff-5.dll +0 -0
- data/lib/x64-mingw32/libwinpthread-1.dll +0 -0
- data/lib/x64-mingw32/zlib1.dll +0 -0
- data/rdoc-sources/FXBMPIcon.rb +1 -1
- data/rdoc-sources/FXImage.rb +8 -2
- data/swig-interfaces/FX4Splitter.i +0 -6
- data/swig-interfaces/FX7Segment.i +0 -8
- data/swig-interfaces/FXAccelTable.i +0 -7
- data/swig-interfaces/FXApp.i +15 -23
- data/swig-interfaces/FXArrowButton.i +0 -10
- data/swig-interfaces/FXBMPIcon.i +0 -2
- data/swig-interfaces/FXBMPImage.i +0 -2
- data/swig-interfaces/FXBitmap.i +0 -6
- data/swig-interfaces/FXButton.i +0 -4
- data/swig-interfaces/FXCURCursor.i +0 -2
- data/swig-interfaces/FXCanvas.i +0 -2
- data/swig-interfaces/FXCheckButton.i +0 -7
- data/swig-interfaces/FXChoiceBox.i +0 -8
- data/swig-interfaces/FXColorBar.i +0 -8
- data/swig-interfaces/FXColorDialog.i +0 -4
- data/swig-interfaces/FXColorList.i +0 -9
- data/swig-interfaces/FXColorRing.i +0 -40
- data/swig-interfaces/FXColorSelector.i +0 -25
- data/swig-interfaces/FXColorWell.i +0 -10
- data/swig-interfaces/FXColorWheel.i +0 -15
- data/swig-interfaces/FXComboBox.i +0 -7
- data/swig-interfaces/FXComposeContext.i +0 -5
- data/swig-interfaces/FXComposite.i +0 -4
- data/swig-interfaces/FXCursor.i +0 -9
- data/swig-interfaces/FXDC.i +0 -26
- data/swig-interfaces/FXDCPrint.i +0 -19
- data/swig-interfaces/FXDataTarget.i +0 -5
- data/swig-interfaces/FXDebugTarget.i +0 -4
- data/swig-interfaces/FXDelegator.i +0 -2
- data/swig-interfaces/FXDial.i +0 -14
- data/swig-interfaces/FXDialogBox.i +0 -2
- data/swig-interfaces/FXDict.i +0 -27
- data/swig-interfaces/FXDirDialog.i +0 -5
- data/swig-interfaces/FXDirList.i +0 -31
- data/swig-interfaces/FXDirSelector.i +0 -19
- data/swig-interfaces/FXDockBar.i +0 -8
- data/swig-interfaces/FXDockHandler.i +0 -10
- data/swig-interfaces/FXDockSite.i +0 -7
- data/swig-interfaces/FXDockTitle.i +0 -6
- data/swig-interfaces/FXDragCorner.i +0 -9
- data/swig-interfaces/FXDrawable.i +0 -7
- data/swig-interfaces/FXFileDialog.i +0 -5
- data/swig-interfaces/FXFileDict.i +0 -5
- data/swig-interfaces/FXFileList.i +0 -23
- data/swig-interfaces/FXFileSelector.i +0 -33
- data/swig-interfaces/FXFoldingList.i +6 -19
- data/swig-interfaces/FXFont.i +0 -20
- data/swig-interfaces/FXFontDialog.i +3 -7
- data/swig-interfaces/FXFontSelector.i +3 -29
- data/swig-interfaces/FXFrame.i +0 -20
- data/swig-interfaces/FXGIFIcon.i +0 -2
- data/swig-interfaces/FXGIFImage.i +0 -2
- data/swig-interfaces/FXGLCanvas.i +0 -4
- data/swig-interfaces/FXGLContext.i +0 -4
- data/swig-interfaces/FXGLShape.i +0 -11
- data/swig-interfaces/FXGLViewer.i +0 -65
- data/swig-interfaces/FXGradientBar.i +8 -9
- data/swig-interfaces/FXGroupBox.i +0 -6
- data/swig-interfaces/FXHeader.i +0 -24
- data/swig-interfaces/FXHorizontalFrame.i +0 -2
- data/swig-interfaces/FXICOIcon.i +0 -2
- data/swig-interfaces/FXICOImage.i +0 -2
- data/swig-interfaces/FXIcon.i +0 -7
- data/swig-interfaces/FXIconList.i +0 -51
- data/swig-interfaces/FXIconSource.i +0 -4
- data/swig-interfaces/FXId.i +0 -4
- data/swig-interfaces/FXImage.i +21 -4
- data/swig-interfaces/FXImageFrame.i +0 -7
- data/swig-interfaces/FXImageView.i +0 -6
- data/swig-interfaces/FXInputDialog.i +0 -8
- data/swig-interfaces/FXJPGIcon.i +0 -4
- data/swig-interfaces/FXJPGImage.i +0 -4
- data/swig-interfaces/FXKnob.i +0 -12
- data/swig-interfaces/FXLabel.i +0 -16
- data/swig-interfaces/FXList.i +0 -33
- data/swig-interfaces/FXListBox.i +0 -7
- data/swig-interfaces/FXMDIButton.i +0 -12
- data/swig-interfaces/FXMDIChild.i +0 -51
- data/swig-interfaces/FXMDIClient.i +0 -6
- data/swig-interfaces/FXMainWindow.i +0 -2
- data/swig-interfaces/FXMat3d.i +0 -2
- data/swig-interfaces/FXMat3f.i +0 -2
- data/swig-interfaces/FXMat4d.i +0 -2
- data/swig-interfaces/FXMat4f.i +0 -2
- data/swig-interfaces/FXMatrix.i +0 -4
- data/swig-interfaces/FXMemoryStream.i +0 -1
- data/swig-interfaces/FXMenuBar.i +0 -2
- data/swig-interfaces/FXMenuButton.i +0 -7
- data/swig-interfaces/FXMenuCaption.i +0 -15
- data/swig-interfaces/FXMenuCascade.i +0 -5
- data/swig-interfaces/FXMenuCheck.i +0 -8
- data/swig-interfaces/FXMenuCommand.i +0 -5
- data/swig-interfaces/FXMenuPane.i +0 -2
- data/swig-interfaces/FXMenuRadio.i +0 -8
- data/swig-interfaces/FXMenuSeparator.i +0 -5
- data/swig-interfaces/FXMenuTitle.i +0 -4
- data/swig-interfaces/FXMessageBox.i +13 -10
- data/swig-interfaces/FXOptionMenu.i +0 -7
- data/swig-interfaces/FXPCXIcon.i +0 -2
- data/swig-interfaces/FXPCXImage.i +0 -2
- data/swig-interfaces/FXPNGIcon.i +0 -2
- data/swig-interfaces/FXPNGImage.i +0 -2
- data/swig-interfaces/FXPPMIcon.i +0 -2
- data/swig-interfaces/FXPPMImage.i +0 -2
- data/swig-interfaces/FXPacker.i +0 -23
- data/swig-interfaces/FXPicker.i +0 -2
- data/swig-interfaces/FXPopup.i +0 -18
- data/swig-interfaces/FXPrintDialog.i +0 -31
- data/swig-interfaces/FXProgressBar.i +0 -12
- data/swig-interfaces/FXProgressDialog.i +0 -8
- data/swig-interfaces/FXRGBIcon.i +0 -2
- data/swig-interfaces/FXRGBImage.i +0 -2
- data/swig-interfaces/FXRadioButton.i +0 -7
- data/swig-interfaces/FXRecentFiles.i +0 -6
- data/swig-interfaces/FXRegion.i +0 -2
- data/swig-interfaces/FXRegistry.i +0 -12
- data/swig-interfaces/FXReplaceDialog.i +0 -15
- data/swig-interfaces/FXRootWindow.i +0 -6
- data/swig-interfaces/FXRuler.i +0 -45
- data/swig-interfaces/FXScrollArea.i +0 -14
- data/swig-interfaces/FXScrollBar.i +0 -2
- data/swig-interfaces/FXScrollPane.i +0 -10
- data/swig-interfaces/FXScrollWindow.i +0 -2
- data/swig-interfaces/FXSearchDialog.i +0 -2
- data/swig-interfaces/FXSeparator.i +0 -9
- data/swig-interfaces/FXSettings.i +0 -11
- data/swig-interfaces/FXShell.i +0 -4
- data/swig-interfaces/FXShutter.i +0 -14
- data/swig-interfaces/FXSlider.i +0 -19
- data/swig-interfaces/FXSpinner.i +0 -9
- data/swig-interfaces/FXSplashWindow.i +0 -8
- data/swig-interfaces/FXSplitter.i +0 -10
- data/swig-interfaces/FXSpring.i +0 -8
- data/swig-interfaces/FXStatusBar.i +0 -5
- data/swig-interfaces/FXStatusLine.i +0 -8
- data/swig-interfaces/FXStringDict.i +0 -3
- data/swig-interfaces/FXSwitcher.i +0 -4
- data/swig-interfaces/FXTGAIcon.i +0 -2
- data/swig-interfaces/FXTGAImage.i +0 -2
- data/swig-interfaces/FXTIFIcon.i +0 -4
- data/swig-interfaces/FXTIFImage.i +0 -4
- data/swig-interfaces/FXTabBar.i +0 -5
- data/swig-interfaces/FXTabBook.i +0 -2
- data/swig-interfaces/FXTabItem.i +0 -2
- data/swig-interfaces/FXTable.i +0 -17
- data/swig-interfaces/FXToggleButton.i +0 -12
- data/swig-interfaces/FXToolBarGrip.i +0 -4
- data/swig-interfaces/FXToolBarShell.i +0 -16
- data/swig-interfaces/FXToolBarTab.i +0 -13
- data/swig-interfaces/FXToolTip.i +0 -10
- data/swig-interfaces/FXTopWindow.i +0 -17
- data/swig-interfaces/FXTranslator.i +0 -2
- data/swig-interfaces/FXTreeList.i +18 -75
- data/swig-interfaces/FXTreeListBox.i +18 -38
- data/swig-interfaces/FXVerticalFrame.i +0 -2
- data/swig-interfaces/FXVisual.i +0 -38
- data/swig-interfaces/FXWindow.i +3 -53
- data/swig-interfaces/FXWizard.i +0 -17
- data/swig-interfaces/FXXBMIcon.i +0 -2
- data/swig-interfaces/FXXBMImage.i +0 -2
- data/swig-interfaces/FXXPMIcon.i +0 -2
- data/swig-interfaces/FXXPMImage.i +0 -2
- data/swig-interfaces/fxdefs.i +33 -35
- data/swig-interfaces/ruby-typemaps.i +19 -2
- data/test/TC_FXBMPImage.rb +13 -0
- data/test/TC_FXFileStream.rb +3 -3
- data/test/TC_FXImage.rb +40 -2
- data/test/TC_FXSize.rb +12 -0
- data/test/TC_FXWindow.rb +26 -0
- data/test/TC_Misc.rb +2 -0
- metadata +175 -159
- metadata.gz.sig +0 -0
- data/Rakefile.cross +0 -421
metadata.gz.sig
CHANGED
Binary file
|
data/Rakefile.cross
DELETED
@@ -1,421 +0,0 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
# -*- ruby -*-
|
3
|
-
|
4
|
-
require 'rubygems'
|
5
|
-
require 'hoe'
|
6
|
-
require 'rake/extensiontask'
|
7
|
-
require 'rake/extensioncompiler'
|
8
|
-
require 'uri'
|
9
|
-
require 'rbconfig'
|
10
|
-
require 'pathname'
|
11
|
-
|
12
|
-
ENV['RUBY_CC_VERSION'] ||= '1.8.7:1.9.3:2.0.0'
|
13
|
-
|
14
|
-
NUM_CPUS = if File.exist?('/proc/cpuinfo')
|
15
|
-
File.read('/proc/cpuinfo').scan('processor').length
|
16
|
-
elsif RUBY_PLATFORM.include?( 'darwin' )
|
17
|
-
`system_profiler SPHardwareDataType | grep 'Cores' | awk '{print $5}'`.chomp
|
18
|
-
else
|
19
|
-
1
|
20
|
-
end
|
21
|
-
|
22
|
-
class CrossLibrary < OpenStruct
|
23
|
-
include Rake::DSL
|
24
|
-
|
25
|
-
def initialize(ruby_platform)
|
26
|
-
super()
|
27
|
-
|
28
|
-
self.ruby_platform = ruby_platform
|
29
|
-
|
30
|
-
# Cross-compilation constants
|
31
|
-
self.compile_home = Pathname( "build" ).expand_path
|
32
|
-
self.static_sourcesdir = compile_home + 'sources'
|
33
|
-
self.static_builddir = compile_home + 'builds' + ruby_platform
|
34
|
-
self.static_installdir = compile_home + 'install' + ruby_platform
|
35
|
-
self.ruby_build = RbConfig::CONFIG["host"]
|
36
|
-
|
37
|
-
# Use rake-compilers config.yml to determine the toolchain that was used
|
38
|
-
# to build Ruby for this platform.
|
39
|
-
self.host_platform = begin
|
40
|
-
config_file = YAML.load_file(File.expand_path("~/.rake-compiler/config.yml"))
|
41
|
-
_, rbfile = config_file.find{|key, fname| key.start_with?("rbconfig-#{ruby_platform}-") }
|
42
|
-
IO.read(rbfile).match(/CONFIG\["host"\] = "(.*)"/)[1]
|
43
|
-
rescue
|
44
|
-
nil
|
45
|
-
end
|
46
|
-
|
47
|
-
# Fetch zlib tarball
|
48
|
-
self.libz_version = ENV['libz_version'] || '1.2.7'
|
49
|
-
self.libz_source_uri = URI( "http://downloads.sourceforge.net/project/libpng/zlib/#{libz_version}/zlib-#{libz_version}.tar.bz2" )
|
50
|
-
self.libz_tarball = static_sourcesdir + File.basename( libz_source_uri.path )
|
51
|
-
self.static_libz_builddir = static_builddir + libz_tarball.basename(".tar.bz2")
|
52
|
-
self.libz_makefile = static_libz_builddir + 'Makefile'
|
53
|
-
self.libz_a = static_libz_builddir + 'libz.a'
|
54
|
-
|
55
|
-
# Fetch libpng tarball
|
56
|
-
self.libpng_version = ENV['libpng_version'] || '1.5.13'
|
57
|
-
self.libpng_source_uri = URI( "http://prdownloads.sourceforge.net/libpng/libpng-#{libpng_version}.tar.gz?download" )
|
58
|
-
self.libpng_tarball = static_sourcesdir + File.basename( libpng_source_uri.path )
|
59
|
-
self.static_libpng_builddir = static_builddir + libpng_tarball.basename(".tar.gz")
|
60
|
-
self.libpng_makefile = static_libpng_builddir + 'Makefile'
|
61
|
-
self.libpng_a = static_libpng_builddir + '.libs' + 'libpng15.a'
|
62
|
-
|
63
|
-
|
64
|
-
# Fetch libjpeg tarball
|
65
|
-
self.libjpeg_version = ENV['libjpeg_version'] || '8d'
|
66
|
-
self.libjpeg_source_uri = URI( "http://www.ijg.org/files/jpegsrc.v#{libjpeg_version}.tar.gz" )
|
67
|
-
self.libjpeg_tarball = static_sourcesdir + File.basename( libjpeg_source_uri.path )
|
68
|
-
self.static_libjpeg_builddir = static_builddir + "jpeg-#{libjpeg_version}"
|
69
|
-
self.libjpeg_makefile = static_libjpeg_builddir + 'Makefile'
|
70
|
-
self.libjpeg_a = static_libjpeg_builddir + '.libs' + 'libjpeg.a'
|
71
|
-
|
72
|
-
|
73
|
-
# Fetch libtiff tarball
|
74
|
-
self.libtiff_version = ENV['libtiff_version'] || '4.0.3'
|
75
|
-
self.libtiff_source_uri = URI( "http://download.osgeo.org/libtiff/tiff-#{libtiff_version}.tar.gz" )
|
76
|
-
self.libtiff_tarball = static_sourcesdir + File.basename( libtiff_source_uri.path )
|
77
|
-
self.static_libtiff_builddir = static_builddir + libtiff_tarball.basename(".tar.gz")
|
78
|
-
self.libtiff_makefile = static_libtiff_builddir + 'Makefile'
|
79
|
-
self.libtiff_a = static_libtiff_builddir + 'libtiff' + '.libs' + 'libtiff.a'
|
80
|
-
|
81
|
-
|
82
|
-
# Fetch libfox tarball
|
83
|
-
self.libfox_version = ENV['libfox_version'] || '1.6.49'
|
84
|
-
self.libfox_source_uri = URI( "http://ftp.fox-toolkit.org/pub/fox-#{libfox_version}.tar.gz" )
|
85
|
-
self.libfox_tarball = static_sourcesdir + File.basename( libfox_source_uri.path )
|
86
|
-
self.static_libfox_builddir = static_builddir + libfox_tarball.basename(".tar.gz")
|
87
|
-
self.libfox_makefile = static_libfox_builddir + 'Makefile'
|
88
|
-
self.libfox_a = static_libfox_builddir + 'src' + '.libs' + 'libFOX-1.6.a'
|
89
|
-
|
90
|
-
# Fetch fxscintilla tarball
|
91
|
-
self.libfxscintilla_version = ENV['libfxscintilla_version'] || '2.28.0'
|
92
|
-
self.libfxscintilla_source_uri = URI( "http://download.savannah.gnu.org/releases/fxscintilla/fxscintilla-#{libfxscintilla_version}.tar.gz" )
|
93
|
-
self.libfxscintilla_tarball = static_sourcesdir + File.basename( libfxscintilla_source_uri.path )
|
94
|
-
self.static_libfxscintilla_builddir = static_builddir + libfxscintilla_tarball.basename(".tar.gz")
|
95
|
-
self.libfxscintilla_makefile = static_libfxscintilla_builddir + 'Makefile'
|
96
|
-
self.libfxscintilla_a = static_libfxscintilla_builddir + 'fox' + '.libs' + 'libfxscintilla.a'
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
# clean intermediate files and folders
|
101
|
-
CLEAN.include( static_builddir.to_s )
|
102
|
-
|
103
|
-
#####################################################################
|
104
|
-
### C R O S S - C O M P I L A T I O N - T A S K S
|
105
|
-
#####################################################################
|
106
|
-
|
107
|
-
directory static_sourcesdir.to_s
|
108
|
-
|
109
|
-
#
|
110
|
-
# Static libz build tasks
|
111
|
-
#
|
112
|
-
directory static_libz_builddir.to_s
|
113
|
-
|
114
|
-
# libz source file should be stored there
|
115
|
-
file libz_tarball => static_sourcesdir do |t|
|
116
|
-
# download the source file using wget or curl
|
117
|
-
chdir File.dirname(t.name) do
|
118
|
-
sh "wget '#{libz_source_uri}' -O #{libz_tarball}"
|
119
|
-
end
|
120
|
-
end
|
121
|
-
|
122
|
-
# Extract the libz builds
|
123
|
-
file static_libz_builddir => libz_tarball do |t|
|
124
|
-
sh 'tar', '-xjf', libz_tarball.to_s, '-C', static_libz_builddir.parent.to_s
|
125
|
-
rm libz_makefile
|
126
|
-
end
|
127
|
-
|
128
|
-
self.libz_env = [
|
129
|
-
"CC=#{host_platform}-gcc",
|
130
|
-
"AR=#{host_platform}-ar",
|
131
|
-
"RANLIB=#{host_platform}-ranlib",
|
132
|
-
]
|
133
|
-
|
134
|
-
# generate the makefile in a clean build location
|
135
|
-
file libz_makefile => [static_libz_builddir] do |t|
|
136
|
-
chdir( static_libz_builddir ) do
|
137
|
-
options = [
|
138
|
-
"--prefix=#{static_installdir}",
|
139
|
-
]
|
140
|
-
|
141
|
-
configure_path = static_libz_builddir + 'configure'
|
142
|
-
sh "env #{[libz_env, configure_path.to_s, *options].join(" ")}"
|
143
|
-
end
|
144
|
-
end
|
145
|
-
|
146
|
-
# generate the makefile in a clean build location
|
147
|
-
task libz_a => libz_makefile do |t|
|
148
|
-
chdir( static_libz_builddir ) do
|
149
|
-
sh "make -j#{NUM_CPUS} install 'LDSHAREDLIBC=-lmsvcrt'"
|
150
|
-
end
|
151
|
-
end
|
152
|
-
|
153
|
-
#
|
154
|
-
# Static libpng build tasks
|
155
|
-
#
|
156
|
-
directory static_libpng_builddir.to_s
|
157
|
-
|
158
|
-
# libpng source file should be stored there
|
159
|
-
file libpng_tarball => static_sourcesdir do |t|
|
160
|
-
# download the source file using wget or curl
|
161
|
-
chdir File.dirname(t.name) do
|
162
|
-
sh "wget '#{libpng_source_uri}' -O #{libpng_tarball}"
|
163
|
-
end
|
164
|
-
end
|
165
|
-
|
166
|
-
# Extract the libpng builds
|
167
|
-
file static_libpng_builddir => libpng_tarball do |t|
|
168
|
-
sh 'tar', '-xzf', libpng_tarball.to_s, '-C', static_libpng_builddir.parent.to_s
|
169
|
-
end
|
170
|
-
|
171
|
-
self.libpng_env = [
|
172
|
-
# Use build directory instead of install, to avoid unnecessary rebuilds of libpng
|
173
|
-
"'CPPFLAGS=-I#{static_libz_builddir}'",
|
174
|
-
"'LDFLAGS=-L#{static_libz_builddir}'",
|
175
|
-
]
|
176
|
-
# generate the makefile in a clean build location
|
177
|
-
file libpng_makefile => [static_libpng_builddir, libz_a] do |t|
|
178
|
-
chdir( static_libpng_builddir ) do
|
179
|
-
options = [
|
180
|
-
"--target=#{host_platform}",
|
181
|
-
"--host=#{host_platform}",
|
182
|
-
"--build=#{ruby_build}",
|
183
|
-
"--prefix=#{static_installdir}",
|
184
|
-
"--disable-shared",
|
185
|
-
]
|
186
|
-
|
187
|
-
configure_path = static_libpng_builddir + 'configure'
|
188
|
-
sh "env #{[libpng_env, configure_path.to_s, *options].join(" ")}"
|
189
|
-
end
|
190
|
-
end
|
191
|
-
|
192
|
-
# generate the makefile in a clean build location
|
193
|
-
task libpng_a => [libpng_makefile, libz_a] do |t|
|
194
|
-
chdir( static_libpng_builddir ) do
|
195
|
-
sh "make -j#{NUM_CPUS} install"
|
196
|
-
end
|
197
|
-
end
|
198
|
-
|
199
|
-
#
|
200
|
-
# Static libjpeg build tasks
|
201
|
-
#
|
202
|
-
directory static_libjpeg_builddir.to_s
|
203
|
-
|
204
|
-
# libjpeg source file should be stored there
|
205
|
-
file libjpeg_tarball => static_sourcesdir do |t|
|
206
|
-
# download the source file using wget or curl
|
207
|
-
chdir File.dirname(t.name) do
|
208
|
-
sh "wget '#{libjpeg_source_uri}' -O #{libjpeg_tarball}"
|
209
|
-
end
|
210
|
-
end
|
211
|
-
|
212
|
-
# Extract the libjpeg builds
|
213
|
-
file static_libjpeg_builddir => libjpeg_tarball do |t|
|
214
|
-
sh 'tar', '-xzf', libjpeg_tarball.to_s, '-C', static_libjpeg_builddir.parent.to_s
|
215
|
-
end
|
216
|
-
|
217
|
-
# generate the makefile in a clean build location
|
218
|
-
file libjpeg_makefile => static_libjpeg_builddir do |t|
|
219
|
-
chdir( static_libjpeg_builddir ) do
|
220
|
-
options = [
|
221
|
-
"--target=#{host_platform}",
|
222
|
-
"--host=#{host_platform}",
|
223
|
-
"--build=#{ruby_build}",
|
224
|
-
"--prefix=#{static_installdir}",
|
225
|
-
"--disable-shared",
|
226
|
-
]
|
227
|
-
|
228
|
-
configure_path = static_libjpeg_builddir + 'configure'
|
229
|
-
cmd = [ configure_path.to_s, *options ]
|
230
|
-
sh *cmd
|
231
|
-
end
|
232
|
-
end
|
233
|
-
|
234
|
-
# build libjpeg.a
|
235
|
-
task libjpeg_a => [libjpeg_makefile] do |t|
|
236
|
-
chdir( static_libjpeg_builddir ) do
|
237
|
-
sh "make -j#{NUM_CPUS} install"
|
238
|
-
end
|
239
|
-
end
|
240
|
-
|
241
|
-
#
|
242
|
-
# Static libtiff build tasks
|
243
|
-
#
|
244
|
-
directory static_libtiff_builddir.to_s
|
245
|
-
|
246
|
-
# libtiff source file should be stored there
|
247
|
-
file libtiff_tarball => static_sourcesdir do |t|
|
248
|
-
# download the source file using wget or curl
|
249
|
-
chdir File.dirname(t.name) do
|
250
|
-
sh "wget '#{libtiff_source_uri}' -O #{libtiff_tarball}"
|
251
|
-
end
|
252
|
-
end
|
253
|
-
|
254
|
-
# Extract the libtiff builds
|
255
|
-
file static_libtiff_builddir => libtiff_tarball do |t|
|
256
|
-
sh 'tar', '-xzf', libtiff_tarball.to_s, '-C', static_libtiff_builddir.parent.to_s
|
257
|
-
end
|
258
|
-
|
259
|
-
self.libtiff_env = [
|
260
|
-
"'CPPFLAGS=-I#{static_installdir}/include'",
|
261
|
-
"'LDFLAGS=-L#{static_installdir}/lib'",
|
262
|
-
]
|
263
|
-
|
264
|
-
# generate the makefile in a clean build location
|
265
|
-
file libtiff_makefile => [static_libtiff_builddir, libjpeg_a, libz_a] do |t|
|
266
|
-
chdir( static_libtiff_builddir ) do
|
267
|
-
options = [
|
268
|
-
"--target=#{host_platform}",
|
269
|
-
"--host=#{host_platform}",
|
270
|
-
"--build=#{ruby_build}",
|
271
|
-
"--prefix=#{static_installdir}",
|
272
|
-
"--disable-shared",
|
273
|
-
"--with-zlib-include-dir=#{static_libz_builddir}",
|
274
|
-
"--with-zlib-lib-dir=#{File.dirname(libz_a)}",
|
275
|
-
"--with-jpeg-include-dir=#{static_libjpeg_builddir}",
|
276
|
-
"--with-jpeg-lib-dir=#{File.dirname(libjpeg_a)}",
|
277
|
-
]
|
278
|
-
|
279
|
-
configure_path = static_libtiff_builddir + 'configure'
|
280
|
-
sh "env #{[libtiff_env, configure_path.to_s, *options].join(" ")}"
|
281
|
-
end
|
282
|
-
end
|
283
|
-
|
284
|
-
# build libtiff.a
|
285
|
-
task libtiff_a => [libtiff_makefile] do |t|
|
286
|
-
chdir( static_libtiff_builddir ) do
|
287
|
-
sh "make -j#{NUM_CPUS} install"
|
288
|
-
end
|
289
|
-
end
|
290
|
-
|
291
|
-
|
292
|
-
#
|
293
|
-
# Static libfox build tasks
|
294
|
-
#
|
295
|
-
directory static_libfox_builddir.to_s
|
296
|
-
|
297
|
-
# libfox source file should be stored there
|
298
|
-
file libfox_tarball => static_sourcesdir do |t|
|
299
|
-
# download the source file using wget or curl
|
300
|
-
chdir File.dirname(t.name) do
|
301
|
-
sh "wget '#{libfox_source_uri}' -O #{libfox_tarball}"
|
302
|
-
end
|
303
|
-
end
|
304
|
-
|
305
|
-
# Extract the libfox builds
|
306
|
-
file static_libfox_builddir => libfox_tarball do |t|
|
307
|
-
sh 'tar', '-xzf', libfox_tarball.to_s, '-C', static_libfox_builddir.parent.to_s
|
308
|
-
end
|
309
|
-
|
310
|
-
self.libfox_env = [
|
311
|
-
"'CPPFLAGS=-I#{static_installdir}/include'",
|
312
|
-
"'LDFLAGS=-L#{static_installdir}/lib'",
|
313
|
-
]
|
314
|
-
|
315
|
-
# generate the makefile in a clean build location
|
316
|
-
file libfox_makefile => [static_libfox_builddir, libjpeg_a, libz_a] do |t|
|
317
|
-
chdir( static_libfox_builddir ) do
|
318
|
-
options = [
|
319
|
-
"--target=#{host_platform}",
|
320
|
-
"--host=#{host_platform}",
|
321
|
-
"--build=#{ruby_build}",
|
322
|
-
"--prefix=#{static_installdir}",
|
323
|
-
"--disable-shared",
|
324
|
-
"--without-xft",
|
325
|
-
"--without-x",
|
326
|
-
]
|
327
|
-
|
328
|
-
configure_path = static_libfox_builddir + 'configure'
|
329
|
-
sh "env #{[libfox_env, configure_path.to_s, *options].join(" ")}"
|
330
|
-
end
|
331
|
-
end
|
332
|
-
|
333
|
-
# build libfox.a
|
334
|
-
task libfox_a => [libfox_makefile] do |t|
|
335
|
-
chdir( static_libfox_builddir ) do
|
336
|
-
sh "make -j#{NUM_CPUS} #{fox_env.join(" ")} install"
|
337
|
-
end
|
338
|
-
end
|
339
|
-
|
340
|
-
|
341
|
-
#
|
342
|
-
# Static libfxscintilla build tasks
|
343
|
-
#
|
344
|
-
directory static_libfxscintilla_builddir.to_s
|
345
|
-
|
346
|
-
# libfxscintilla source file should be stored there
|
347
|
-
file libfxscintilla_tarball => static_sourcesdir do |t|
|
348
|
-
# download the source file using wget or curl
|
349
|
-
chdir File.dirname(t.name) do
|
350
|
-
sh "wget '#{libfxscintilla_source_uri}' -O #{libfxscintilla_tarball}"
|
351
|
-
end
|
352
|
-
end
|
353
|
-
|
354
|
-
# Extract the libfxscintilla builds
|
355
|
-
file static_libfxscintilla_builddir => libfxscintilla_tarball do |t|
|
356
|
-
sh 'tar', '-xzf', libfxscintilla_tarball.to_s, '-C', static_libfxscintilla_builddir.parent.to_s
|
357
|
-
end
|
358
|
-
|
359
|
-
self.fox_env = [
|
360
|
-
"'CFLAGS=-I#{static_installdir}/include'",
|
361
|
-
"'CPPFLAGS=-I#{static_installdir}/include'",
|
362
|
-
"'LDFLAGS=-L#{static_installdir}/lib'",
|
363
|
-
"'FOX_CFLAGS=-I#{static_installdir}/include/fox-1.6 -DFOX_1_6'",
|
364
|
-
"'FOX_LIBS=-L#{static_installdir}/lib -lFOX-1.6'",
|
365
|
-
]
|
366
|
-
|
367
|
-
# generate the makefile in a clean build location
|
368
|
-
file libfxscintilla_makefile => [static_libfxscintilla_builddir, libfox_a] do |t|
|
369
|
-
chdir( static_libfxscintilla_builddir ) do
|
370
|
-
options = [
|
371
|
-
"--target=#{host_platform}",
|
372
|
-
"--host=#{host_platform}",
|
373
|
-
"--build=#{ruby_build}",
|
374
|
-
"--prefix=#{static_installdir}",
|
375
|
-
"--disable-shared",
|
376
|
-
]
|
377
|
-
|
378
|
-
configure_path = static_libfxscintilla_builddir + 'configure'
|
379
|
-
sh "env #{[fox_env, configure_path.to_s, *options].join(" ")}"
|
380
|
-
end
|
381
|
-
end
|
382
|
-
|
383
|
-
# build libfxscintilla.a
|
384
|
-
task libfxscintilla_a => [libfxscintilla_makefile] do |t|
|
385
|
-
chdir( static_libfxscintilla_builddir ) do
|
386
|
-
sh "make -j#{NUM_CPUS} #{fox_env.join(" ")} install"
|
387
|
-
end
|
388
|
-
end
|
389
|
-
|
390
|
-
desc "compile static libz libraries"
|
391
|
-
task :static_libs => [ libz_a, libpng_a, libjpeg_a, libtiff_a, libfox_a, libfxscintilla_a ]
|
392
|
-
end
|
393
|
-
end
|
394
|
-
|
395
|
-
if File.exist?(File.expand_path("~/.rake-compiler/config.yml"))
|
396
|
-
CrossLibraries = [
|
397
|
-
'i386-mingw32',
|
398
|
-
'x64-mingw32',
|
399
|
-
].map do |platform|
|
400
|
-
CrossLibrary.new platform
|
401
|
-
end
|
402
|
-
else
|
403
|
-
$stderr.puts "Cross-compilation disabled -- rake-compiler not properly installed"
|
404
|
-
CrossLibraries = []
|
405
|
-
end
|
406
|
-
|
407
|
-
|
408
|
-
desc 'cross compile required libs for win32'
|
409
|
-
task :cross => [ :mingw32, :static_libs ]
|
410
|
-
|
411
|
-
task :mingw32 do
|
412
|
-
# Use Rake::ExtensionCompiler helpers to find the proper host
|
413
|
-
unless Rake::ExtensionCompiler.mingw_host then
|
414
|
-
warn "You need to install mingw32 cross compile functionality to be able to continue."
|
415
|
-
warn "Please refer to your distribution/package manager documentation about installation."
|
416
|
-
fail
|
417
|
-
end
|
418
|
-
end
|
419
|
-
|
420
|
-
|
421
|
-
# vim: syntax=ruby
|