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.
Files changed (229) hide show
  1. checksums.yaml +7 -7
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +3 -2
  4. data/.gitignore +1 -1
  5. data/History.txt +13 -1
  6. data/Manifest.txt +1 -1
  7. data/Rakefile +49 -39
  8. data/examples/RAA.rb +8 -2
  9. data/examples/WhatAQuietStiff.rb +2 -2
  10. data/examples/babelfish.rb +9 -2
  11. data/examples/browser.rb +1 -1
  12. data/examples/button.rb +3 -9
  13. data/examples/canvasdemo.rb +3 -3
  14. data/examples/charts.rb +9 -2
  15. data/examples/dctest.rb +4 -10
  16. data/examples/gembrowser.rb +4 -4
  17. data/examples/gltest.rb +3 -3
  18. data/examples/glviewer.rb +3 -9
  19. data/examples/groupbox.rb +3 -9
  20. data/examples/header.rb +1 -1
  21. data/examples/hello2.rb +1 -1
  22. data/examples/iRAA.rb +7 -1
  23. data/examples/iconlist.rb +3 -9
  24. data/examples/imageviewer.rb +3 -9
  25. data/examples/mditest.rb +1 -1
  26. data/examples/raabrowser.rb +8 -2
  27. data/examples/rmagick.rb +7 -1
  28. data/examples/shutter.rb +3 -9
  29. data/examples/splitter.rb +3 -9
  30. data/examples/table.rb +26 -3
  31. data/examples/textedit/textedit.rb +3 -3
  32. data/ext/fox16_c/FXRbApp.cpp +1 -1
  33. data/ext/fox16_c/FXRuby.cpp +18 -9
  34. data/ext/fox16_c/extconf.rb +252 -11
  35. data/ext/fox16_c/include/FXRbTreeList.h +3 -3
  36. data/ext/fox16_c/include/FXRuby.h +7 -6
  37. data/ext/fox16_c/markfuncs.cpp +3 -22
  38. data/ext/fox16_c/unregisterOwnedObjects.cpp +1 -2
  39. data/lib/2.0/fox16_c.so +0 -0
  40. data/lib/2.1/fox16_c.so +0 -0
  41. data/lib/2.2/fox16_c.so +0 -0
  42. data/lib/fox16.rb +16 -6
  43. data/lib/fox16/core.rb +14 -0
  44. data/lib/fox16/glshapes.rb +1 -0
  45. data/lib/fox16/version.rb +1 -1
  46. data/lib/x64-mingw32/libFOX-1.6-0.dll +0 -0
  47. data/lib/x64-mingw32/libfxscintilla-20.dll +0 -0
  48. data/lib/x64-mingw32/libgcc_s_sjlj-1.dll +0 -0
  49. data/lib/x64-mingw32/libjpeg-8.dll +0 -0
  50. data/lib/x64-mingw32/libpng15-15.dll +0 -0
  51. data/lib/x64-mingw32/libstdc++-6.dll +0 -0
  52. data/lib/x64-mingw32/libtiff-5.dll +0 -0
  53. data/lib/x64-mingw32/libwinpthread-1.dll +0 -0
  54. data/lib/x64-mingw32/zlib1.dll +0 -0
  55. data/rdoc-sources/FXBMPIcon.rb +1 -1
  56. data/rdoc-sources/FXImage.rb +8 -2
  57. data/swig-interfaces/FX4Splitter.i +0 -6
  58. data/swig-interfaces/FX7Segment.i +0 -8
  59. data/swig-interfaces/FXAccelTable.i +0 -7
  60. data/swig-interfaces/FXApp.i +15 -23
  61. data/swig-interfaces/FXArrowButton.i +0 -10
  62. data/swig-interfaces/FXBMPIcon.i +0 -2
  63. data/swig-interfaces/FXBMPImage.i +0 -2
  64. data/swig-interfaces/FXBitmap.i +0 -6
  65. data/swig-interfaces/FXButton.i +0 -4
  66. data/swig-interfaces/FXCURCursor.i +0 -2
  67. data/swig-interfaces/FXCanvas.i +0 -2
  68. data/swig-interfaces/FXCheckButton.i +0 -7
  69. data/swig-interfaces/FXChoiceBox.i +0 -8
  70. data/swig-interfaces/FXColorBar.i +0 -8
  71. data/swig-interfaces/FXColorDialog.i +0 -4
  72. data/swig-interfaces/FXColorList.i +0 -9
  73. data/swig-interfaces/FXColorRing.i +0 -40
  74. data/swig-interfaces/FXColorSelector.i +0 -25
  75. data/swig-interfaces/FXColorWell.i +0 -10
  76. data/swig-interfaces/FXColorWheel.i +0 -15
  77. data/swig-interfaces/FXComboBox.i +0 -7
  78. data/swig-interfaces/FXComposeContext.i +0 -5
  79. data/swig-interfaces/FXComposite.i +0 -4
  80. data/swig-interfaces/FXCursor.i +0 -9
  81. data/swig-interfaces/FXDC.i +0 -26
  82. data/swig-interfaces/FXDCPrint.i +0 -19
  83. data/swig-interfaces/FXDataTarget.i +0 -5
  84. data/swig-interfaces/FXDebugTarget.i +0 -4
  85. data/swig-interfaces/FXDelegator.i +0 -2
  86. data/swig-interfaces/FXDial.i +0 -14
  87. data/swig-interfaces/FXDialogBox.i +0 -2
  88. data/swig-interfaces/FXDict.i +0 -27
  89. data/swig-interfaces/FXDirDialog.i +0 -5
  90. data/swig-interfaces/FXDirList.i +0 -31
  91. data/swig-interfaces/FXDirSelector.i +0 -19
  92. data/swig-interfaces/FXDockBar.i +0 -8
  93. data/swig-interfaces/FXDockHandler.i +0 -10
  94. data/swig-interfaces/FXDockSite.i +0 -7
  95. data/swig-interfaces/FXDockTitle.i +0 -6
  96. data/swig-interfaces/FXDragCorner.i +0 -9
  97. data/swig-interfaces/FXDrawable.i +0 -7
  98. data/swig-interfaces/FXFileDialog.i +0 -5
  99. data/swig-interfaces/FXFileDict.i +0 -5
  100. data/swig-interfaces/FXFileList.i +0 -23
  101. data/swig-interfaces/FXFileSelector.i +0 -33
  102. data/swig-interfaces/FXFoldingList.i +6 -19
  103. data/swig-interfaces/FXFont.i +0 -20
  104. data/swig-interfaces/FXFontDialog.i +3 -7
  105. data/swig-interfaces/FXFontSelector.i +3 -29
  106. data/swig-interfaces/FXFrame.i +0 -20
  107. data/swig-interfaces/FXGIFIcon.i +0 -2
  108. data/swig-interfaces/FXGIFImage.i +0 -2
  109. data/swig-interfaces/FXGLCanvas.i +0 -4
  110. data/swig-interfaces/FXGLContext.i +0 -4
  111. data/swig-interfaces/FXGLShape.i +0 -11
  112. data/swig-interfaces/FXGLViewer.i +0 -65
  113. data/swig-interfaces/FXGradientBar.i +8 -9
  114. data/swig-interfaces/FXGroupBox.i +0 -6
  115. data/swig-interfaces/FXHeader.i +0 -24
  116. data/swig-interfaces/FXHorizontalFrame.i +0 -2
  117. data/swig-interfaces/FXICOIcon.i +0 -2
  118. data/swig-interfaces/FXICOImage.i +0 -2
  119. data/swig-interfaces/FXIcon.i +0 -7
  120. data/swig-interfaces/FXIconList.i +0 -51
  121. data/swig-interfaces/FXIconSource.i +0 -4
  122. data/swig-interfaces/FXId.i +0 -4
  123. data/swig-interfaces/FXImage.i +21 -4
  124. data/swig-interfaces/FXImageFrame.i +0 -7
  125. data/swig-interfaces/FXImageView.i +0 -6
  126. data/swig-interfaces/FXInputDialog.i +0 -8
  127. data/swig-interfaces/FXJPGIcon.i +0 -4
  128. data/swig-interfaces/FXJPGImage.i +0 -4
  129. data/swig-interfaces/FXKnob.i +0 -12
  130. data/swig-interfaces/FXLabel.i +0 -16
  131. data/swig-interfaces/FXList.i +0 -33
  132. data/swig-interfaces/FXListBox.i +0 -7
  133. data/swig-interfaces/FXMDIButton.i +0 -12
  134. data/swig-interfaces/FXMDIChild.i +0 -51
  135. data/swig-interfaces/FXMDIClient.i +0 -6
  136. data/swig-interfaces/FXMainWindow.i +0 -2
  137. data/swig-interfaces/FXMat3d.i +0 -2
  138. data/swig-interfaces/FXMat3f.i +0 -2
  139. data/swig-interfaces/FXMat4d.i +0 -2
  140. data/swig-interfaces/FXMat4f.i +0 -2
  141. data/swig-interfaces/FXMatrix.i +0 -4
  142. data/swig-interfaces/FXMemoryStream.i +0 -1
  143. data/swig-interfaces/FXMenuBar.i +0 -2
  144. data/swig-interfaces/FXMenuButton.i +0 -7
  145. data/swig-interfaces/FXMenuCaption.i +0 -15
  146. data/swig-interfaces/FXMenuCascade.i +0 -5
  147. data/swig-interfaces/FXMenuCheck.i +0 -8
  148. data/swig-interfaces/FXMenuCommand.i +0 -5
  149. data/swig-interfaces/FXMenuPane.i +0 -2
  150. data/swig-interfaces/FXMenuRadio.i +0 -8
  151. data/swig-interfaces/FXMenuSeparator.i +0 -5
  152. data/swig-interfaces/FXMenuTitle.i +0 -4
  153. data/swig-interfaces/FXMessageBox.i +13 -10
  154. data/swig-interfaces/FXOptionMenu.i +0 -7
  155. data/swig-interfaces/FXPCXIcon.i +0 -2
  156. data/swig-interfaces/FXPCXImage.i +0 -2
  157. data/swig-interfaces/FXPNGIcon.i +0 -2
  158. data/swig-interfaces/FXPNGImage.i +0 -2
  159. data/swig-interfaces/FXPPMIcon.i +0 -2
  160. data/swig-interfaces/FXPPMImage.i +0 -2
  161. data/swig-interfaces/FXPacker.i +0 -23
  162. data/swig-interfaces/FXPicker.i +0 -2
  163. data/swig-interfaces/FXPopup.i +0 -18
  164. data/swig-interfaces/FXPrintDialog.i +0 -31
  165. data/swig-interfaces/FXProgressBar.i +0 -12
  166. data/swig-interfaces/FXProgressDialog.i +0 -8
  167. data/swig-interfaces/FXRGBIcon.i +0 -2
  168. data/swig-interfaces/FXRGBImage.i +0 -2
  169. data/swig-interfaces/FXRadioButton.i +0 -7
  170. data/swig-interfaces/FXRecentFiles.i +0 -6
  171. data/swig-interfaces/FXRegion.i +0 -2
  172. data/swig-interfaces/FXRegistry.i +0 -12
  173. data/swig-interfaces/FXReplaceDialog.i +0 -15
  174. data/swig-interfaces/FXRootWindow.i +0 -6
  175. data/swig-interfaces/FXRuler.i +0 -45
  176. data/swig-interfaces/FXScrollArea.i +0 -14
  177. data/swig-interfaces/FXScrollBar.i +0 -2
  178. data/swig-interfaces/FXScrollPane.i +0 -10
  179. data/swig-interfaces/FXScrollWindow.i +0 -2
  180. data/swig-interfaces/FXSearchDialog.i +0 -2
  181. data/swig-interfaces/FXSeparator.i +0 -9
  182. data/swig-interfaces/FXSettings.i +0 -11
  183. data/swig-interfaces/FXShell.i +0 -4
  184. data/swig-interfaces/FXShutter.i +0 -14
  185. data/swig-interfaces/FXSlider.i +0 -19
  186. data/swig-interfaces/FXSpinner.i +0 -9
  187. data/swig-interfaces/FXSplashWindow.i +0 -8
  188. data/swig-interfaces/FXSplitter.i +0 -10
  189. data/swig-interfaces/FXSpring.i +0 -8
  190. data/swig-interfaces/FXStatusBar.i +0 -5
  191. data/swig-interfaces/FXStatusLine.i +0 -8
  192. data/swig-interfaces/FXStringDict.i +0 -3
  193. data/swig-interfaces/FXSwitcher.i +0 -4
  194. data/swig-interfaces/FXTGAIcon.i +0 -2
  195. data/swig-interfaces/FXTGAImage.i +0 -2
  196. data/swig-interfaces/FXTIFIcon.i +0 -4
  197. data/swig-interfaces/FXTIFImage.i +0 -4
  198. data/swig-interfaces/FXTabBar.i +0 -5
  199. data/swig-interfaces/FXTabBook.i +0 -2
  200. data/swig-interfaces/FXTabItem.i +0 -2
  201. data/swig-interfaces/FXTable.i +0 -17
  202. data/swig-interfaces/FXToggleButton.i +0 -12
  203. data/swig-interfaces/FXToolBarGrip.i +0 -4
  204. data/swig-interfaces/FXToolBarShell.i +0 -16
  205. data/swig-interfaces/FXToolBarTab.i +0 -13
  206. data/swig-interfaces/FXToolTip.i +0 -10
  207. data/swig-interfaces/FXTopWindow.i +0 -17
  208. data/swig-interfaces/FXTranslator.i +0 -2
  209. data/swig-interfaces/FXTreeList.i +18 -75
  210. data/swig-interfaces/FXTreeListBox.i +18 -38
  211. data/swig-interfaces/FXVerticalFrame.i +0 -2
  212. data/swig-interfaces/FXVisual.i +0 -38
  213. data/swig-interfaces/FXWindow.i +3 -53
  214. data/swig-interfaces/FXWizard.i +0 -17
  215. data/swig-interfaces/FXXBMIcon.i +0 -2
  216. data/swig-interfaces/FXXBMImage.i +0 -2
  217. data/swig-interfaces/FXXPMIcon.i +0 -2
  218. data/swig-interfaces/FXXPMImage.i +0 -2
  219. data/swig-interfaces/fxdefs.i +33 -35
  220. data/swig-interfaces/ruby-typemaps.i +19 -2
  221. data/test/TC_FXBMPImage.rb +13 -0
  222. data/test/TC_FXFileStream.rb +3 -3
  223. data/test/TC_FXImage.rb +40 -2
  224. data/test/TC_FXSize.rb +12 -0
  225. data/test/TC_FXWindow.rb +26 -0
  226. data/test/TC_Misc.rb +2 -0
  227. metadata +175 -159
  228. metadata.gz.sig +0 -0
  229. 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