summaryrefslogtreecommitdiff
path: root/ruby_2_2/ext/etc/mkconstants.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ruby_2_2/ext/etc/mkconstants.rb')
-rw-r--r--ruby_2_2/ext/etc/mkconstants.rb331
1 files changed, 0 insertions, 331 deletions
diff --git a/ruby_2_2/ext/etc/mkconstants.rb b/ruby_2_2/ext/etc/mkconstants.rb
deleted file mode 100644
index c9fddfd132..0000000000
--- a/ruby_2_2/ext/etc/mkconstants.rb
+++ /dev/null
@@ -1,331 +0,0 @@
-require 'optparse'
-require 'erb'
-
-C_ESC = {
- "\\" => "\\\\",
- '"' => '\"',
- "\n" => '\n',
-}
-
-0x00.upto(0x1f) {|ch| C_ESC[[ch].pack("C")] ||= "\\%03o" % ch }
-0x7f.upto(0xff) {|ch| C_ESC[[ch].pack("C")] = "\\%03o" % ch }
-C_ESC_PAT = Regexp.union(*C_ESC.keys)
-
-def c_str(str)
- '"' + str.gsub(C_ESC_PAT) {|s| C_ESC[s]} + '"'
-end
-
-opt = OptionParser.new
-
-opt.def_option('-h', 'help') {
- puts opt
- exit 0
-}
-
-opt_o = nil
-opt.def_option('-o FILE', 'specify output file') {|filename|
- opt_o = filename
-}
-
-opt_H = nil
-opt.def_option('-H FILE', 'specify output header file') {|filename|
- opt_H = filename
-}
-
-opt.parse!
-
-h = {}
-COMMENTS = {}
-
-DATA.each_line {|s|
- next if /\A\s*(\#|\z)/ =~ s
- name, default_value, comment = s.chomp.split(/\s+/, 3)
-
- default_value = nil if default_value == 'nil'
-
- if h.has_key? name
- warn "#{$.}: warning: duplicate name: #{name}"
- next
- end
- h[name] = default_value
- COMMENTS[name] = comment if comment
-}
-DEFS = h.to_a
-
-def each_const
- DEFS.each {|name, default_value|
- yield name, default_value
- }
-end
-
-def each_name(pat)
- DEFS.each {|name, default_value|
- next if pat !~ name
- yield name
- }
-end
-
-ERB.new(<<'EOS', nil, '%').def_method(Object, "gen_const_decls")
-% each_const {|name, default_value|
-#if !defined(<%=name%>)
-# if defined(HAVE_CONST_<%=name.upcase%>)
-# define <%=name%> <%=name%>
-%if default_value
-# else
-# define <%=name%> <%=default_value%>
-%end
-# endif
-#endif
-% }
-EOS
-
-ERB.new(<<'EOS', nil, '%').def_method(Object, "gen_const_defs")
-% each_const {|name, default_value|
-#if defined(<%=name%>)
-% if comment = COMMENTS[name]
- /* <%=comment%> */
-% end
- rb_define_const(mod, <%=c_str name.sub(/\A_*/, '')%>, INTEGER2NUM(<%=name%>));
-#endif
-% }
-EOS
-
-header_result = ERB.new(<<'EOS', nil, '%').result(binding)
-/* autogenerated file */
-
-<%= gen_const_decls %>
-EOS
-
-result = ERB.new(<<'EOS', nil, '%').result(binding)
-/* autogenerated file */
-
-#ifdef HAVE_LONG_LONG
-#define INTEGER2NUM(n) \
- (FIXNUM_MAX < (n) ? ULL2NUM(n) : \
- FIXNUM_MIN > (LONG_LONG)(n) ? LL2NUM(n) : \
- LONG2FIX(n))
-#else
-#define INTEGER2NUM(n) \
- (FIXNUM_MAX < (n) ? ULONG2NUM(n) : \
- FIXNUM_MIN > (long)(n) ? LONG2NUM(n) : \
- LONG2FIX(n))
-#endif
-
-static void
-init_constants(VALUE mod)
-{
-<%= gen_const_defs %>
-}
-EOS
-
-if opt_H
- File.open(opt_H, 'w') {|f|
- f << header_result
- }
-else
- result = header_result + result
-end
-
-if opt_o
- File.open(opt_o, 'w') {|f|
- f << result
- }
-else
- $stdout << result
-end
-
-__END__
-# SUSv4
-_SC_AIO_LISTIO_MAX
-_SC_AIO_MAX
-_SC_AIO_PRIO_DELTA_MAX
-_SC_ARG_MAX
-_SC_ATEXIT_MAX
-_SC_BC_BASE_MAX
-_SC_BC_DIM_MAX
-_SC_BC_SCALE_MAX
-_SC_BC_STRING_MAX
-_SC_CHILD_MAX
-_SC_CLK_TCK
-_SC_COLL_WEIGHTS_MAX
-_SC_DELAYTIMER_MAX
-_SC_EXPR_NEST_MAX
-_SC_HOST_NAME_MAX
-_SC_IOV_MAX
-_SC_LINE_MAX
-_SC_LOGIN_NAME_MAX
-_SC_NGROUPS_MAX
-_SC_GETGR_R_SIZE_MAX
-_SC_GETPW_R_SIZE_MAX
-_SC_MQ_OPEN_MAX
-_SC_MQ_PRIO_MAX
-_SC_OPEN_MAX
-_SC_ADVISORY_INFO
-_SC_BARRIERS
-_SC_ASYNCHRONOUS_IO
-_SC_CLOCK_SELECTION
-_SC_CPUTIME
-_SC_FSYNC
-_SC_IPV6
-_SC_JOB_CONTROL
-_SC_MAPPED_FILES
-_SC_MEMLOCK
-_SC_MEMLOCK_RANGE
-_SC_MEMORY_PROTECTION
-_SC_MESSAGE_PASSING
-_SC_MONOTONIC_CLOCK
-_SC_PRIORITIZED_IO
-_SC_PRIORITY_SCHEDULING
-_SC_RAW_SOCKETS
-_SC_READER_WRITER_LOCKS
-_SC_REALTIME_SIGNALS
-_SC_REGEXP
-_SC_SAVED_IDS
-_SC_SEMAPHORES
-_SC_SHARED_MEMORY_OBJECTS
-_SC_SHELL
-_SC_SPAWN
-_SC_SPIN_LOCKS
-_SC_SPORADIC_SERVER
-_SC_SS_REPL_MAX
-_SC_SYNCHRONIZED_IO
-_SC_THREAD_ATTR_STACKADDR
-_SC_THREAD_ATTR_STACKSIZE
-_SC_THREAD_CPUTIME
-_SC_THREAD_PRIO_INHERIT
-_SC_THREAD_PRIO_PROTECT
-_SC_THREAD_PRIORITY_SCHEDULING
-_SC_THREAD_PROCESS_SHARED
-_SC_THREAD_ROBUST_PRIO_INHERIT
-_SC_THREAD_ROBUST_PRIO_PROTECT
-_SC_THREAD_SAFE_FUNCTIONS
-_SC_THREAD_SPORADIC_SERVER
-_SC_THREADS
-_SC_TIMEOUTS
-_SC_TIMERS
-_SC_TRACE
-_SC_TRACE_EVENT_FILTER
-_SC_TRACE_EVENT_NAME_MAX
-_SC_TRACE_INHERIT
-_SC_TRACE_LOG
-_SC_TRACE_NAME_MAX
-_SC_TRACE_SYS_MAX
-_SC_TRACE_USER_EVENT_MAX
-_SC_TYPED_MEMORY_OBJECTS
-_SC_VERSION
-_SC_V7_ILP32_OFF32
-_SC_V7_ILP32_OFFBIG
-_SC_V7_LP64_OFF64
-_SC_V7_LPBIG_OFFBIG
-_SC_V6_ILP32_OFF32
-_SC_V6_ILP32_OFFBIG
-_SC_V6_LP64_OFF64
-_SC_V6_LPBIG_OFFBIG
-_SC_2_C_BIND
-_SC_2_C_DEV
-_SC_2_CHAR_TERM
-_SC_2_FORT_DEV
-_SC_2_FORT_RUN
-_SC_2_LOCALEDEF
-_SC_2_PBS
-_SC_2_PBS_ACCOUNTING
-_SC_2_PBS_CHECKPOINT
-_SC_2_PBS_LOCATE
-_SC_2_PBS_MESSAGE
-_SC_2_PBS_TRACK
-_SC_2_SW_DEV
-_SC_2_UPE
-_SC_2_VERSION
-_SC_PAGE_SIZE
-_SC_PAGESIZE
-_SC_THREAD_DESTRUCTOR_ITERATIONS
-_SC_THREAD_KEYS_MAX
-_SC_THREAD_STACK_MIN
-_SC_THREAD_THREADS_MAX
-_SC_RE_DUP_MAX
-_SC_RTSIG_MAX
-_SC_SEM_NSEMS_MAX
-_SC_SEM_VALUE_MAX
-_SC_SIGQUEUE_MAX
-_SC_STREAM_MAX
-_SC_SYMLOOP_MAX
-_SC_TIMER_MAX
-_SC_TTY_NAME_MAX
-_SC_TZNAME_MAX
-_SC_XOPEN_CRYPT
-_SC_XOPEN_ENH_I18N
-_SC_XOPEN_REALTIME
-_SC_XOPEN_REALTIME_THREADS
-_SC_XOPEN_SHM
-_SC_XOPEN_STREAMS
-_SC_XOPEN_UNIX
-_SC_XOPEN_UUCP
-_SC_XOPEN_VERSION
-
-# non-standard
-_SC_PHYS_PAGES
-_SC_AVPHYS_PAGES
-_SC_NPROCESSORS_CONF
-_SC_NPROCESSORS_ONLN
-_SC_CPUSET_SIZE
-
-# SUSv4
-_CS_PATH
-_CS_POSIX_V7_ILP32_OFF32_CFLAGS
-_CS_POSIX_V7_ILP32_OFF32_LDFLAGS
-_CS_POSIX_V7_ILP32_OFF32_LIBS
-_CS_POSIX_V7_ILP32_OFFBIG_CFLAGS
-_CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS
-_CS_POSIX_V7_ILP32_OFFBIG_LIBS
-_CS_POSIX_V7_LP64_OFF64_CFLAGS
-_CS_POSIX_V7_LP64_OFF64_LDFLAGS
-_CS_POSIX_V7_LP64_OFF64_LIBS
-_CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS
-_CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS
-_CS_POSIX_V7_LPBIG_OFFBIG_LIBS
-_CS_POSIX_V7_THREADS_CFLAGS
-_CS_POSIX_V7_THREADS_LDFLAGS
-_CS_POSIX_V7_WIDTH_RESTRICTED_ENVS
-_CS_V7_ENV
-_CS_POSIX_V6_ILP32_OFF32_CFLAGS
-_CS_POSIX_V6_ILP32_OFF32_LDFLAGS
-_CS_POSIX_V6_ILP32_OFF32_LIBS
-_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
-_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
-_CS_POSIX_V6_ILP32_OFFBIG_LIBS
-_CS_POSIX_V6_LP64_OFF64_CFLAGS
-_CS_POSIX_V6_LP64_OFF64_LDFLAGS
-_CS_POSIX_V6_LP64_OFF64_LIBS
-_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
-_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
-_CS_POSIX_V6_LPBIG_OFFBIG_LIBS
-_CS_POSIX_V6_WIDTH_RESTRICTED_ENVS
-_CS_V6_ENV
-
-# non-standard
-_CS_GNU_LIBC_VERSION
-_CS_GNU_LIBPTHREAD_VERSION
-
-# SUSv4
-_PC_FILESIZEBITS
-_PC_LINK_MAX
-_PC_MAX_CANON
-_PC_MAX_INPUT
-_PC_NAME_MAX
-_PC_PATH_MAX
-_PC_PIPE_BUF
-_PC_2_SYMLINKS
-_PC_ALLOC_SIZE_MIN
-_PC_REC_INCR_XFER_SIZE
-_PC_REC_MAX_XFER_SIZE
-_PC_REC_MIN_XFER_SIZE
-_PC_REC_XFER_ALIGN
-_PC_SYMLINK_MAX
-_PC_CHOWN_RESTRICTED
-_PC_NO_TRUNC
-_PC_VDISABLE
-_PC_ASYNC_IO
-_PC_PRIO_IO
-_PC_SYNC_IO
-_PC_TIMESTAMP_RESOLUTION
-