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.
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