fxruby 1.6.28-x64-mingw32 → 1.6.29-x64-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|