GitHub Sale: sign up for any paid plan this week and pay nothing until January 1, 2009!  [ hide ]

public
Description: a tiny graphical app kit for ruby
Homepage: http://code.whytheluckystiff.net/shoes
Clone URL: git://github.com/why/shoes.git
* Rakefile: okay, linking to jpeg62 on OSX since there's a libJPEG 
conflict.  also, bin/main.o is supposed to go in shoes-bin.
* lib/shoes.rb: when calling shoes from `open` on OSX, it passes in a 
weird commandline arg that was screwin things up.
why (author)
Thu Sep 06 23:34:38 -0700 2007
commit  89beb42097633829736c91653b43237e44b15b58
tree    271dac9a6a05be48a41c21777e26cd339b86b918
parent  f7f0e5fcf3f5d86128f30185425d5dda0583ca57
...
77
78
79
80
 
81
82
83
...
120
121
122
123
 
124
125
 
126
127
128
...
164
165
166
167
 
168
169
170
171
172
 
173
174
175
...
199
200
201
202
 
203
204
205
...
211
212
213
214
 
215
216
217
218
219
220
221
222
223
 
 
224
225
226
227
 
228
 
229
230
231
...
236
237
238
239
 
240
241
242
243
 
244
245
246
...
249
250
251
 
252
253
254
...
77
78
79
 
80
81
82
83
...
120
121
122
 
123
124
 
125
126
127
128
...
164
165
166
 
167
168
169
170
171
 
172
173
174
175
...
199
200
201
 
202
203
204
205
...
211
212
213
 
214
215
216
217
218
 
219
220
221
 
222
223
224
225
226
227
228
229
230
231
232
233
...
238
239
240
 
241
242
243
244
 
245
246
247
248
...
251
252
253
254
255
256
257
0
@@ -77,7 +77,7 @@ task :build => :build_os do
0
          lib/libglib-2.0.0.dylib lib/libgobject-2.0.0.dylib lib/libpng12.0.dylib lib/libpango-1.0.0.dylib
0
          lib/pango/1.6.0/modules/pango-basic-atsui.la lib/libpangocairo-1.0.0.dylib
0
          lib/pango/1.6.0/modules/pango-basic-atsui.so etc/pango/pango.modules
0
- lib/libjpeg.62.dylib lib/libungif.4.dylib].
0
+ lib/libjpeg62.dylib lib/libungif.4.dylib].
0
       each do |libn|
0
         cp "#{ENV['SHOES_DEPS_PATH']}/#{libn}", "dist/"
0
       end
0
@@ -120,9 +120,9 @@ end
0
 # use the platform Ruby claims
0
 case PLATFORM
0
 when /win32/
0
- SRC = FileList["{bin,shoes}/*.{c,rc}"]
0
+ SRC = FileList["shoes/*.{c,rc}"]
0
   OBJ = SRC.map do |x|
0
- x.gsub(/\.(c)$/, '.obj').gsub(/\.rc$/, '.res')
0
+ x.gsub(/\.c$/, '.obj').gsub(/\.rc$/, '.res')
0
   end
0
 
0
   # MSVC build environment
0
@@ -164,12 +164,12 @@ when /win32/
0
     mkdir_p "dist"
0
   end
0
 
0
- task "dist/#{NAME}.exe" => OBJ do |t|
0
+ task "dist/#{NAME}.exe" => OBJ + ["bin/main.o"] do |t|
0
     rm_f t.name
0
     sh "link #{MSVC_LDFLAGS} /OUT:#{t.name} /LIBPATH:#{ext_ruby}/lib " +
0
       "/LIBPATH:deps/cairo/lib " +
0
       "/LIBPATH:deps/pango/lib " +
0
- "/SUBSYSTEM:WINDOWS #{OBJ.join(' ')} #{MSVC_LIBS}"
0
+ "/SUBSYSTEM:WINDOWS #{OBJ.join(' ')} bin/main.o #{MSVC_LIBS}"
0
   end
0
 
0
   rule ".obj" => ".c" do |t|
0
@@ -199,7 +199,7 @@ else
0
   require 'rbconfig'
0
 
0
   CC = "gcc"
0
- SRC = FileList["{bin,shoes}/*.{c}"]
0
+ SRC = FileList["shoes/*.{c}"]
0
   OBJ = SRC.map do |x|
0
     x.gsub(/\.\w+$/, '.o')
0
   end
0
@@ -211,21 +211,23 @@ else
0
   PANGO_LIB = ENV['PANGO_LIB'] ? "-L#{ENV['PANGO_LIB']}" : `pkg-config --libs pango`.strip
0
 
0
   LINUX_CFLAGS = %[-I#{ENV['SHOES_DEPS_PATH'] || "/usr"}/include #{CAIRO_CFLAGS} #{PANGO_CFLAGS} -I#{Config::CONFIG['archdir']}]
0
- LINUX_LIB_NAMES = %W[#{ruby_so} cairo pangocairo-1.0 jpeg ungif]
0
+ LINUX_LIB_NAMES = %W[#{ruby_so} cairo pangocairo-1.0 ungif]
0
   if ENV['DEBUG']
0
     LINUX_CFLAGS << " -DDEBUG"
0
   end
0
 
0
- LINUX_LIBS = LINUX_LIB_NAMES.map { |x| "-l#{x}" }.join(' ')
0
   case PLATFORM when /darwin/
0
     DLEXT = "dylib"
0
     LINUX_CFLAGS << " -DSHOES_QUARTZ -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -fpascal-strings #{Config::CONFIG["CFLAGS"]}"
0
- LINUX_LDFLAGS = "-framework Carbon -dynamiclib -Wl,-single_module #{Config::CONFIG["LDFLAGS"]}"
0
+ LINUX_LDFLAGS = "-framework Carbon -dynamiclib -Wl,-single_module #{Config::CONFIG["LDFLAGS"]} INSTALL_NAME"
0
+ LINUX_LIB_NAMES << 'jpeg62'
0
   else
0
     DLEXT = "so"
0
     LINUX_CFLAGS << " -DSHOES_GTK #{`pkg-config --cflags gtk+-2.0`.strip}"
0
     LINUX_LDFLAGS =" #{`pkg-config --libs gtk+-2.0`.strip} -fPIC -shared"
0
+ LINUX_LIB_NAMES << 'jpeg'
0
   end
0
+ LINUX_LIBS = LINUX_LIB_NAMES.map { |x| "-l#{x}" }.join(' ')
0
 
0
   task :build_os => [:buildenv_linux, :build_skel, "dist/#{NAME}"]
0
 
0
@@ -236,11 +238,11 @@ else
0
 
0
   LINUX_LIBS << " -L#{Config::CONFIG['libdir']} #{CAIRO_LIB} #{PANGO_LIB}"
0
 
0
- task "dist/#{NAME}" => "dist/lib#{SONAME}.#{DLEXT}" do |t|
0
+ task "dist/#{NAME}" => ["dist/lib#{SONAME}.#{DLEXT}", "bin/main.o"] do |t|
0
     bin = "#{t.name}-bin"
0
     rm_f t.name
0
     rm_f bin
0
- sh "#{CC} -Ldist -o #{bin} -lshoes #{LINUX_LIBS} #{Config::CONFIG['LDFLAGS']}"
0
+ sh "#{CC} -Ldist -o #{bin} bin/main.o #{LINUX_LIBS} -lshoes #{Config::CONFIG['LDFLAGS']}"
0
     if PLATFORM !~ /darwin/
0
       sh %{echo 'APPPATH="${0%/*}"' > #{t.name}}
0
       sh %{echo 'LD_LIBRARY_PATH=$APPPATH $APPPATH/#{File.basename(bin)} $@' >> #{t.name}}
0
@@ -249,6 +251,7 @@ else
0
   end
0
 
0
   task "dist/lib#{SONAME}.#{DLEXT}" => OBJ do |t|
0
+ ldflags = LINUX_LDFLAGS.sub! /INSTALL_NAME/, "-install_name @executable_path/lib#{SONAME}.#{DLEXT}"
0
     sh "#{CC} -o #{t.name} #{OBJ.join(' ')} #{LINUX_LDFLAGS} #{LINUX_LIBS}"
0
   end
0
 
...
3
4
5
 
 
6
7
8
...
3
4
5
6
7
8
9
10
0
@@ -3,6 +3,8 @@
0
 # The Shoes base app, both a demonstration and the learning tool for
0
 # using Shoes.
0
 #
0
+ARGV.delete_if { |x| x =~ /-psn_/ }
0
+
0
 require 'open-uri'
0
 require 'optparse'
0
 require 'shoes/shy'
...
1
2
3
4
5
 
 
6
...
1
2
3
 
 
4
5
6
0
@@ -1,6 +1,6 @@
0
 #!/bin/bash
0
 APPPATH="${0%/*}"
0
 cd $APPPATH
0
-echo "[Pango]" > pangorc
0
-echo "ModuleFiles=$APPPATH/pango.modules" >> pangorc
0
+#echo "[Pango]" > pangorc
0
+#echo "ModuleFiles=$APPPATH/pango.modules" >> pangorc
0
 DYLD_LIBRARY_PATH=$APPPATH PANGO_RC_FILE=$APPPATH/pangorc ./#{NAME}-bin "$@"
...
14
15
16
17
 
18
19
20
...
23
24
25
26
27
28
29
30
31
...
14
15
16
 
17
18
19
20
...
23
24
25
 
 
 
 
26
27
0
@@ -14,7 +14,7 @@ end
0
 
0
 # preprocess .skel
0
 task :build_skel do |t|
0
- Dir["**/*.skel"].each do |src|
0
+ Dir["bin/*.skel"].each do |src|
0
     name = src.gsub(/\.skel$/, '.c')
0
     File.open(src) do |skel|
0
       File.open(name, 'w') do |c|
0
@@ -23,9 +23,5 @@ task :build_skel do |t|
0
         end
0
       end
0
     end
0
- unless SRC.include? name
0
- SRC << name
0
- OBJ << name.gsub(/\.c$/, '.o')
0
- end
0
   end
0
 end
...
5
6
7
8
9
10
11
12
...
5
6
7
 
 
8
9
10
0
@@ -5,8 +5,6 @@
0
 #
0
 PATH=./deps/bin:$PATH; export PATH
0
 PKG_CONFIG_PATH=./deps/lib/pkgconfig; export PKG_CONFIG_PATH
0
-DYLD_LIBRARY_PATH=./deps/lib; export DYLD_LIBRARY_PATH
0
-LD_LIBRARY_PATH=./deps/lib; export LD_LIBRARY_PATH
0
 SHOES_DEPS_PATH=./deps; export SHOES_DEPS_PATH
0
 RUBYOPT="-I./deps/lib/ruby/site_ruby/1.8 -I./deps/lib/ruby/1.8 -I./deps/lib/ruby/1.8/i686-darwin8.10.1"
0
 export RUBYOPT

Comments

    No one has commented yet.