diff options
author | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-08-15 20:57:30 +0000 |
---|---|---|
committer | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-08-15 20:57:30 +0000 |
commit | 54ec1c4fe81672ca66f327ef6ae170f458cd79e5 (patch) | |
tree | 45a752c60a9a08d681a792b70f43c89903b638a2 /ruby_1_8_5/ext/dl/extconf.rb | |
parent | d464704f111d211c1f1ff9ef23ef1d755054be00 (diff) |
sorry. I made wrong tags.v1_8_5_54
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_8_5_54@13009 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby_1_8_5/ext/dl/extconf.rb')
-rw-r--r-- | ruby_1_8_5/ext/dl/extconf.rb | 193 |
1 files changed, 0 insertions, 193 deletions
diff --git a/ruby_1_8_5/ext/dl/extconf.rb b/ruby_1_8_5/ext/dl/extconf.rb deleted file mode 100644 index beb15ab04c..0000000000 --- a/ruby_1_8_5/ext/dl/extconf.rb +++ /dev/null @@ -1,193 +0,0 @@ -require 'mkmf' - -begin # for the exception SystemExit - -$:.unshift File.dirname(__FILE__) -require 'type' - -if( ARGV.include?("--help") ) - print <<EOF - --help print this messages - --with-type-char strictly use type 'char' - --with-type-short strictly use type 'short' - --with-type-float strictly use type 'float' - --with-args=<max_arg> - --with-callback=<max_callback> - --enable-asm use the embedded assembler for passing arguments. - (this option is available for i386 machine now.) - --enable-dlstack use a stack emulation for constructing function call. -EOF - exit(0) -end - -($CPPFLAGS || $CFLAGS) << " -I." - -if (Config::CONFIG['CC'] =~ /gcc/) # from Win32API - $CFLAGS << " -fno-defer-pop -fno-omit-frame-pointer" -end - -$with_dlstack ||= true -$with_asm = ! $with_dlstack - -$with_type_int = try_cpp(<<EOF) -#include "config.h" -#if SIZEOF_INT == SIZEOF_LONG -#error int not needed -#endif -EOF - -$with_type_float = try_cpp(<<EOF) -#include "config.h" -#if SIZEOF_FLOAT == SIZEOF_DOUBLE -#error float not needed -#endif -EOF - -$with_type_voidp = try_cpp(<<EOF) -#include "config.h" -#if SIZEOF_VOIDP == SIZEOF_INT || SIZEOF_VOIDP == SIZEOF_LONG -#error void* not needed -#endif -EOF - -$with_type_char = DLTYPE[CHAR][:sym] -$with_type_short = DLTYPE[SHORT][:sym] -$with_type_long = DLTYPE[LONG][:sym] -$with_type_double= DLTYPE[DOUBLE][:sym] -$with_type_int &= DLTYPE[INT][:sym] -$with_type_float &= DLTYPE[FLOAT][:sym] -$with_type_voidp &= DLTYPE[VOIDP][:sym] - -$with_type_char = enable_config("type-char", $with_type_char) -$with_type_short = enable_config("type-short", $with_type_short) -$with_type_float = enable_config("type-float", $with_type_float) - -$with_asm = enable_config("asm", $with_asm) -$with_dlstack = enable_config("dlstack", $with_dlstack) - -args = with_config("args") -max_arg = nil -if( $with_asm || $with_dlstack ) - $with_type_char = true - $with_type_short = true - $with_type_float = true - max_arg = 0 -end -if( args ) - max_arg = args.to_i - if( !max_arg ) - print("--with-args=<max_arg>\n") - exit(1) - end -end -max_arg ||= 6 - -max_callback = with_config("callback","10").to_i -callback_types = DLTYPE.keys.length - - -$dlconfig_h = <<EOF -#define MAX_ARG #{max_arg} -EOF - -def dlc_define(const) - $dlconfig_h << "#if !defined(#{const})\n" + - "# define #{const}\n" + - "#endif\n" -end - -$dlconfig_h << "#define MAX_CALLBACK #{max_callback}\n" -$dlconfig_h << "#define CALLBACK_TYPES #{callback_types}\n" -if( $with_dlstack ) - $dlconfig_h << "#define USE_DLSTACK\n" -else - if( $with_asm ) - $dlconfig_h << "#define USE_INLINE_ASM\n" - end -end -if( $with_type_char ) - $dlconfig_h << "#define WITH_TYPE_CHAR\n" -end -if( $with_type_short ) - $dlconfig_h << "#define WITH_TYPE_SHORT\n" -end -if( $with_type_long ) - $dlconfig_h << "#define WITH_TYPE_LONG\n" -end -if( $with_type_double ) - $dlconfig_h << "#define WITH_TYPE_DOUBLE\n" -end -if( $with_type_float ) - $dlconfig_h << "#define WITH_TYPE_FLOAT\n" -end -if( $with_type_int ) - $dlconfig_h << "#define WITH_TYPE_INT\n" -end -if( $with_type_voidp ) - $dlconfig_h << "#define WITH_TYPE_VOIDP\n" -end - -if( have_header("windows.h") ) - have_library("kernel32") - have_func("GetLastError", "windows.h") - dlc_define("HAVE_WINDOWS_H") - have_windows_h = true -end - -if( have_header("dlfcn.h") ) - dlc_define("HAVE_DLFCN_H") - have_library("dl") - have_func("dlopen") - have_func("dlclose") - have_func("dlsym") - if( have_func("dlerror") ) - dlc_define("HAVE_DLERROR") - end -elsif ( have_windows_h ) - have_func("LoadLibrary") - have_func("FreeLibrary") - have_func("GetProcAddress") -else - exit(0) -end - -def File.update(file, str) - begin - open(file){|f|f.read} == str - rescue Errno::ENOENT - false - end or open(file, "w"){|f|f.print(str)} -end - -File.update("dlconfig.h", <<EOF) -#ifndef DLCONFIG_H -#define DLCONFIG_H -#{$dlconfig_h} -#endif /* DLCONFIG_H */ -EOF - -File.update("dlconfig.rb", <<EOF) -MAX_ARG = #{max_arg} -MAX_CALLBACK = #{max_callback} -CALLBACK_TYPES = #{callback_types} -DLTYPE[CHAR][:sym] = #{$with_type_char} -DLTYPE[SHORT][:sym] = #{$with_type_short} -DLTYPE[INT][:sym] = #{$with_type_int} -DLTYPE[LONG][:sym] = #{$with_type_long} -DLTYPE[FLOAT][:sym] = #{$with_type_float} -DLTYPE[DOUBLE][:sym]= #{$with_type_double} -DLTYPE[VOIDP][:sym] = #{$with_type_voidp} -EOF - -$INSTALLFILES = [ - ["./dlconfig.h", "$(archdir)$(target_prefix)", "."], - ["dl.h", "$(archdir)$(target_prefix)", ""], -] -$cleanfiles = %w[test/test.o] -$distcleanfiles = %w[call.func callback.func cbtable.func dlconfig.rb -./dlconfig.h test/libtest.so test/*~ *~ mkmf.log] - -create_makefile('dl') -rescue SystemExit - # do nothing -end |