mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	* Doxyfile.in: new file. Template of a configuration file for
Doxygen. Intorduces C-level API reference generation with Doxygen. * tool/file2lastrev.rb: wrapper script that abstracts subversion and git-svn. * tool/strip-rdoc.rb: filter for preventing doxygen from processing rdoc comments. * configure.in: (Doxyfile): Doxyfile is generated together with Makefile. (PACKAGE): configuration $(PACKAGE) is necessary for $(docdir). * instruby.rb: adds a new install target 'capi' * common.mk (capi): new target that generates C API documents with Doxygen. (install-capi): new target. (pre-install-capi): ditto. (do-install-capi): ditto. (post-install-capi): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
		
							parent
							
								
									a550f2992b
								
							
						
					
					
						commit
						c09e5abeee
					
				
					 8 changed files with 409 additions and 3 deletions
				
			
		
							
								
								
									
										24
									
								
								ChangeLog
									
										
									
									
									
								
							
							
						
						
									
										24
									
								
								ChangeLog
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,3 +1,27 @@
 | 
			
		|||
Mon Dec 22 15:56:49 2008  Yuki Sonoda (Yugui)  <yugui@yugui.jp>
 | 
			
		||||
 | 
			
		||||
	* Doxyfile.in: new file. Template of a configuration file.
 | 
			
		||||
	  Introduces C-level API reference generation with Doxygen. 
 | 
			
		||||
 | 
			
		||||
	* tool/file2lastrev.rb: wrapper script that abstracts subversion
 | 
			
		||||
	  and git-svn.
 | 
			
		||||
 | 
			
		||||
	* tool/strip-rdoc.rb: filter for preventing doxygen from processing
 | 
			
		||||
	  rdoc comments.
 | 
			
		||||
 | 
			
		||||
	* configure.in: (Doxyfile): Doxyfile is generated together with
 | 
			
		||||
	  Makefile.
 | 
			
		||||
	  (PACKAGE): configuration $(PACKAGE) is necessary for $(docdir).
 | 
			
		||||
 | 
			
		||||
	* instruby.rb: adds a new install target 'capi'
 | 
			
		||||
 | 
			
		||||
	* common.mk (capi): new target that generates C API documents with
 | 
			
		||||
	  Doxygen.
 | 
			
		||||
	  (install-capi): new target.
 | 
			
		||||
	  (pre-install-capi): ditto.
 | 
			
		||||
	  (do-install-capi): ditto.
 | 
			
		||||
	  (post-install-capi): ditto.
 | 
			
		||||
 | 
			
		||||
Mon Dec 22 21:31:11 2008  Tanaka Akira  <akr@fsij.org>
 | 
			
		||||
 | 
			
		||||
	* numeric.c (int_ord): Integer#ord implemented.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										251
									
								
								Doxyfile.in
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										251
									
								
								Doxyfile.in
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,251 @@
 | 
			
		|||
# Doxyfile 1.5.7
 | 
			
		||||
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# Project related configuration options
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
DOXYFILE_ENCODING      = UTF-8
 | 
			
		||||
PROJECT_NAME           = Ruby
 | 
			
		||||
PROJECT_NUMBER         = @MAJOR@.@MINOR@.@TEENY@
 | 
			
		||||
OUTPUT_DIRECTORY       = doc/capi
 | 
			
		||||
CREATE_SUBDIRS         = NO
 | 
			
		||||
OUTPUT_LANGUAGE        = English
 | 
			
		||||
BRIEF_MEMBER_DESC      = YES
 | 
			
		||||
REPEAT_BRIEF           = YES
 | 
			
		||||
ABBREVIATE_BRIEF       = 
 | 
			
		||||
ALWAYS_DETAILED_SEC    = YES
 | 
			
		||||
INLINE_INHERITED_MEMB  = NO
 | 
			
		||||
FULL_PATH_NAMES        = YES
 | 
			
		||||
STRIP_FROM_PATH        = @srcdir@
 | 
			
		||||
STRIP_FROM_INC_PATH    = 
 | 
			
		||||
SHORT_NAMES            = NO
 | 
			
		||||
JAVADOC_AUTOBRIEF      = YES
 | 
			
		||||
QT_AUTOBRIEF           = NO
 | 
			
		||||
MULTILINE_CPP_IS_BRIEF = NO
 | 
			
		||||
INHERIT_DOCS           = YES
 | 
			
		||||
SEPARATE_MEMBER_PAGES  = NO
 | 
			
		||||
TAB_SIZE               = 8
 | 
			
		||||
ALIASES                = 
 | 
			
		||||
OPTIMIZE_OUTPUT_FOR_C  = YES
 | 
			
		||||
OPTIMIZE_OUTPUT_JAVA   = NO
 | 
			
		||||
OPTIMIZE_FOR_FORTRAN   = NO
 | 
			
		||||
OPTIMIZE_OUTPUT_VHDL   = NO
 | 
			
		||||
BUILTIN_STL_SUPPORT    = NO
 | 
			
		||||
CPP_CLI_SUPPORT        = NO
 | 
			
		||||
SIP_SUPPORT            = NO
 | 
			
		||||
IDL_PROPERTY_SUPPORT   = NO
 | 
			
		||||
DISTRIBUTE_GROUP_DOC   = NO
 | 
			
		||||
SUBGROUPING            = YES
 | 
			
		||||
TYPEDEF_HIDES_STRUCT   = NO
 | 
			
		||||
SYMBOL_CACHE_SIZE      = 0
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# Build related configuration options
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
EXTRACT_ALL            = YES
 | 
			
		||||
EXTRACT_PRIVATE        = NO
 | 
			
		||||
EXTRACT_STATIC         = YES
 | 
			
		||||
EXTRACT_LOCAL_CLASSES  = YES
 | 
			
		||||
EXTRACT_LOCAL_METHODS  = NO
 | 
			
		||||
EXTRACT_ANON_NSPACES   = NO
 | 
			
		||||
HIDE_UNDOC_MEMBERS     = NO
 | 
			
		||||
HIDE_UNDOC_CLASSES     = NO
 | 
			
		||||
HIDE_FRIEND_COMPOUNDS  = NO
 | 
			
		||||
HIDE_IN_BODY_DOCS      = YES
 | 
			
		||||
INTERNAL_DOCS          = NO
 | 
			
		||||
CASE_SENSE_NAMES       = NO
 | 
			
		||||
HIDE_SCOPE_NAMES       = NO
 | 
			
		||||
SHOW_INCLUDE_FILES     = YES
 | 
			
		||||
INLINE_INFO            = YES
 | 
			
		||||
SORT_MEMBER_DOCS       = YES
 | 
			
		||||
SORT_BRIEF_DOCS        = NO
 | 
			
		||||
SORT_GROUP_NAMES       = NO
 | 
			
		||||
SORT_BY_SCOPE_NAME     = NO
 | 
			
		||||
GENERATE_TODOLIST      = YES
 | 
			
		||||
GENERATE_TESTLIST      = YES
 | 
			
		||||
GENERATE_BUGLIST       = YES
 | 
			
		||||
GENERATE_DEPRECATEDLIST= YES
 | 
			
		||||
ENABLED_SECTIONS       = 
 | 
			
		||||
MAX_INITIALIZER_LINES  = 30
 | 
			
		||||
SHOW_USED_FILES        = YES
 | 
			
		||||
SHOW_DIRECTORIES       = NO
 | 
			
		||||
SHOW_FILES             = YES
 | 
			
		||||
SHOW_NAMESPACES        = YES
 | 
			
		||||
FILE_VERSION_FILTER    = "./miniruby@EXEEXT@ -I @srcdir@/lib @srcdir@/tool/file2lastrev.rb -q"
 | 
			
		||||
LAYOUT_FILE            = 
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# configuration options related to warning and progress messages
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
QUIET                  = NO
 | 
			
		||||
WARNINGS               = YES
 | 
			
		||||
WARN_IF_UNDOCUMENTED   = YES
 | 
			
		||||
WARN_IF_DOC_ERROR      = YES
 | 
			
		||||
WARN_NO_PARAMDOC       = NO
 | 
			
		||||
WARN_FORMAT            = "$file:$line: $text"
 | 
			
		||||
WARN_LOGFILE           = 
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# configuration options related to the input files
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
INPUT                  = @srcdir@
 | 
			
		||||
INPUT_ENCODING         = UTF-8
 | 
			
		||||
FILE_PATTERNS          = *.c *.h *.y
 | 
			
		||||
RECURSIVE              = YES
 | 
			
		||||
EXCLUDE                = newline.c 
 | 
			
		||||
EXCLUDE_SYMLINKS       = NO
 | 
			
		||||
EXCLUDE_PATTERNS       = *.src doc build tmp test yarvtest lib bootstraptest spec .ext .git .svn
 | 
			
		||||
EXCLUDE_SYMBOLS        = 
 | 
			
		||||
EXAMPLE_PATH           = 
 | 
			
		||||
EXAMPLE_PATTERNS       = 
 | 
			
		||||
EXAMPLE_RECURSIVE      = NO
 | 
			
		||||
IMAGE_PATH             = 
 | 
			
		||||
INPUT_FILTER           = "./miniruby@EXEEXT@ -I @srcdir@/lib @srcdir@/tool/strip-rdoc.rb"
 | 
			
		||||
FILTER_PATTERNS        = 
 | 
			
		||||
FILTER_SOURCE_FILES    = YES
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# configuration options related to source browsing
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
SOURCE_BROWSER         = NO
 | 
			
		||||
INLINE_SOURCES         = NO
 | 
			
		||||
STRIP_CODE_COMMENTS    = YES
 | 
			
		||||
REFERENCED_BY_RELATION = NO
 | 
			
		||||
REFERENCES_RELATION    = NO
 | 
			
		||||
REFERENCES_LINK_SOURCE = YES
 | 
			
		||||
USE_HTAGS              = NO
 | 
			
		||||
VERBATIM_HEADERS       = YES
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# configuration options related to the alphabetical class index
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
COLS_IN_ALPHA_INDEX    = 5
 | 
			
		||||
IGNORE_PREFIX          = 
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# configuration options related to the HTML output
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
GENERATE_HTML          = YES
 | 
			
		||||
HTML_OUTPUT            = html
 | 
			
		||||
HTML_FILE_EXTENSION    = .html
 | 
			
		||||
HTML_HEADER            = 
 | 
			
		||||
HTML_FOOTER            = 
 | 
			
		||||
HTML_STYLESHEET        = 
 | 
			
		||||
HTML_ALIGN_MEMBERS     = YES
 | 
			
		||||
HTML_DYNAMIC_SECTIONS  = NO
 | 
			
		||||
GENERATE_DOCSET        = NO
 | 
			
		||||
DOCSET_FEEDNAME        = "Doxygen generated docs"
 | 
			
		||||
DOCSET_BUNDLE_ID       = org.doxygen.Project
 | 
			
		||||
GENERATE_HTMLHELP      = NO
 | 
			
		||||
CHM_FILE               = 
 | 
			
		||||
HHC_LOCATION           = 
 | 
			
		||||
GENERATE_CHI           = NO
 | 
			
		||||
CHM_INDEX_ENCODING     = 
 | 
			
		||||
BINARY_TOC             = NO
 | 
			
		||||
TOC_EXPAND             = NO
 | 
			
		||||
GENERATE_QHP           = NO
 | 
			
		||||
QCH_FILE               = 
 | 
			
		||||
QHP_NAMESPACE          = org.doxygen.Project
 | 
			
		||||
QHP_VIRTUAL_FOLDER     = doc
 | 
			
		||||
QHG_LOCATION           = 
 | 
			
		||||
DISABLE_INDEX          = NO
 | 
			
		||||
ENUM_VALUES_PER_LINE   = 4
 | 
			
		||||
GENERATE_TREEVIEW      = NONE
 | 
			
		||||
TREEVIEW_WIDTH         = 250
 | 
			
		||||
FORMULA_FONTSIZE       = 10
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# configuration options related to the LaTeX output
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
GENERATE_LATEX         = NO
 | 
			
		||||
LATEX_OUTPUT           = latex
 | 
			
		||||
LATEX_CMD_NAME         = latex
 | 
			
		||||
MAKEINDEX_CMD_NAME     = makeindex
 | 
			
		||||
COMPACT_LATEX          = NO
 | 
			
		||||
PAPER_TYPE             = a4wide
 | 
			
		||||
EXTRA_PACKAGES         = 
 | 
			
		||||
LATEX_HEADER           = 
 | 
			
		||||
PDF_HYPERLINKS         = YES
 | 
			
		||||
USE_PDFLATEX           = YES
 | 
			
		||||
LATEX_BATCHMODE        = NO
 | 
			
		||||
LATEX_HIDE_INDICES     = NO
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# configuration options related to the RTF output
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
GENERATE_RTF           = NO
 | 
			
		||||
RTF_OUTPUT             = rtf
 | 
			
		||||
COMPACT_RTF            = NO
 | 
			
		||||
RTF_HYPERLINKS         = NO
 | 
			
		||||
RTF_STYLESHEET_FILE    = 
 | 
			
		||||
RTF_EXTENSIONS_FILE    = 
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# configuration options related to the man page output
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
GENERATE_MAN           = NO
 | 
			
		||||
MAN_OUTPUT             = man
 | 
			
		||||
MAN_EXTENSION          = .3
 | 
			
		||||
MAN_LINKS              = NO
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# configuration options related to the XML output
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
GENERATE_XML           = NO
 | 
			
		||||
XML_OUTPUT             = xml
 | 
			
		||||
XML_SCHEMA             = 
 | 
			
		||||
XML_DTD                = 
 | 
			
		||||
XML_PROGRAMLISTING     = YES
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# configuration options for the AutoGen Definitions output
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
GENERATE_AUTOGEN_DEF   = NO
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# configuration options related to the Perl module output
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
GENERATE_PERLMOD       = NO
 | 
			
		||||
PERLMOD_LATEX          = NO
 | 
			
		||||
PERLMOD_PRETTY         = YES
 | 
			
		||||
PERLMOD_MAKEVAR_PREFIX = 
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# Configuration options related to the preprocessor   
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
ENABLE_PREPROCESSING   = YES
 | 
			
		||||
MACRO_EXPANSION        = NO
 | 
			
		||||
EXPAND_ONLY_PREDEF     = NO
 | 
			
		||||
SEARCH_INCLUDES        = YES
 | 
			
		||||
INCLUDE_PATH           = 
 | 
			
		||||
INCLUDE_FILE_PATTERNS  = 
 | 
			
		||||
PREDEFINED             = 
 | 
			
		||||
EXPAND_AS_DEFINED      = 
 | 
			
		||||
SKIP_FUNCTION_MACROS   = YES
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# Configuration::additions related to external references   
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
TAGFILES               = 
 | 
			
		||||
GENERATE_TAGFILE       = 
 | 
			
		||||
ALLEXTERNALS           = NO
 | 
			
		||||
EXTERNAL_GROUPS        = YES
 | 
			
		||||
PERL_PATH              = /usr/bin/perl
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# Configuration options related to the dot tool   
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
CLASS_DIAGRAMS         = NO
 | 
			
		||||
MSCGEN_PATH            = 
 | 
			
		||||
HIDE_UNDOC_RELATIONS   = YES
 | 
			
		||||
HAVE_DOT               = NO
 | 
			
		||||
DOT_FONTNAME           = FreeSans
 | 
			
		||||
DOT_FONTPATH           = 
 | 
			
		||||
CLASS_GRAPH            = NO
 | 
			
		||||
COLLABORATION_GRAPH    = NO
 | 
			
		||||
GROUP_GRAPHS           = YES
 | 
			
		||||
UML_LOOK               = NO
 | 
			
		||||
TEMPLATE_RELATIONS     = NO
 | 
			
		||||
INCLUDE_GRAPH          = YES
 | 
			
		||||
INCLUDED_BY_GRAPH      = YES
 | 
			
		||||
CALL_GRAPH             = NO
 | 
			
		||||
CALLER_GRAPH           = NO
 | 
			
		||||
GRAPHICAL_HIERARCHY    = NO
 | 
			
		||||
DIRECTORY_GRAPH        = NO
 | 
			
		||||
DOT_IMAGE_FORMAT       = png
 | 
			
		||||
DOT_PATH               = 
 | 
			
		||||
DOTFILE_DIRS           = 
 | 
			
		||||
DOT_GRAPH_MAX_NODES    = 50
 | 
			
		||||
MAX_DOT_GRAPH_DEPTH    = 0
 | 
			
		||||
DOT_TRANSPARENT        = NO
 | 
			
		||||
DOT_MULTI_TARGETS      = NO
 | 
			
		||||
GENERATE_LEGEND        = YES
 | 
			
		||||
DOT_CLEANUP            = YES
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# Configuration::additions related to the search engine   
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
SEARCHENGINE           = NO
 | 
			
		||||
| 
						 | 
				
			
			@ -164,6 +164,9 @@ fake.rb:	Makefile
 | 
			
		|||
		' > $@
 | 
			
		||||
 | 
			
		||||
Makefile:	$(srcdir)/Makefile.in $(srcdir)/enc/Makefile.in
 | 
			
		||||
Doxyfile:	$(srcdir)/Doxyfile.in config.status
 | 
			
		||||
	MAKE=$(MAKE) $(SHELL) ./config.status
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
$(MKFILES): config.status
 | 
			
		||||
		MAKE=$(MAKE) $(SHELL) ./config.status
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										12
									
								
								common.mk
									
										
									
									
									
								
							
							
						
						
									
										12
									
								
								common.mk
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -138,6 +138,9 @@ miniruby$(EXEEXT): config.status $(NORMALMAINOBJ) $(MINIOBJS) $(COMMONOBJS) $(DM
 | 
			
		|||
GORUBY = go$(RUBY_INSTALL_NAME)
 | 
			
		||||
golf: $(LIBRUBY) $(GOLFOBJS)
 | 
			
		||||
	$(MAKE) $(MFLAGS) MAINOBJ="$(GOLFOBJS)" PROGRAM=$(GORUBY)$(EXEEXT) program
 | 
			
		||||
capi: Doxyfile PHONY
 | 
			
		||||
	@$(MAKEDIRS) doc/capi
 | 
			
		||||
	@doxygen
 | 
			
		||||
 | 
			
		||||
program: $(PROGRAM)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -158,7 +161,7 @@ ruby.imp: $(COMMONOBJS)
 | 
			
		|||
	@$(NM) -Pgp $(COMMONOBJS) | awk 'BEGIN{print "#!"}; $$2~/^[BD]$$/{print $$1}' | sort -u -o $@
 | 
			
		||||
 | 
			
		||||
install: install-nodoc $(RDOCTARGET)
 | 
			
		||||
install-all: install-nodoc install-doc
 | 
			
		||||
install-all: install-nodoc install-doc install-capi
 | 
			
		||||
 | 
			
		||||
install-nodoc: pre-install-nodoc do-install-nodoc post-install-nodoc
 | 
			
		||||
pre-install-nodoc:: pre-install-local pre-install-ext
 | 
			
		||||
| 
						 | 
				
			
			@ -225,6 +228,13 @@ do-install-man: $(PREP)
 | 
			
		|||
post-install-man::
 | 
			
		||||
	@$(NULLCMD)
 | 
			
		||||
 | 
			
		||||
install-capi: capi pre-install-capi do-install-capi post-install-capi
 | 
			
		||||
pre-install-capi:: install-prereq
 | 
			
		||||
do-install-capi: $(PREP)
 | 
			
		||||
	$(MINIRUBY) $(srcdir)/instruby.rb --make="$(MAKE)" $(INSTRUBY_ARGS) --install=capi
 | 
			
		||||
post-install-capi::
 | 
			
		||||
	@$(NULLCMD)
 | 
			
		||||
 | 
			
		||||
what-where: no-install
 | 
			
		||||
no-install: no-install-nodoc no-install-doc
 | 
			
		||||
what-where-all: no-install-all
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2132,6 +2132,10 @@ done
 | 
			
		|||
AC_SUBST(BUILTIN_TRANSSRCS)
 | 
			
		||||
AC_SUBST(BUILTIN_TRANSOBJS)
 | 
			
		||||
 | 
			
		||||
PACKAGE=$RUBY_INSTALL_NAME
 | 
			
		||||
AC_SUBST(PACKAGE)
 | 
			
		||||
 | 
			
		||||
AC_CONFIG_FILES(Doxyfile)
 | 
			
		||||
AC_CONFIG_FILES($FIRSTMAKEFILE)
 | 
			
		||||
AC_CONFIG_FILES(Makefile, [{
 | 
			
		||||
	sed '/^MISSING/s/\$U\././g' Makefile
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										12
									
								
								instruby.rb
									
										
									
									
									
								
							
							
						
						
									
										12
									
								
								instruby.rb
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -45,7 +45,7 @@ def parse_args(argv = ARGV)
 | 
			
		|||
    $mflags.concat(v)
 | 
			
		||||
  end
 | 
			
		||||
  opt.on('-i', '--install=TYPE',
 | 
			
		||||
         [:local, :bin, :"bin-arch", :"bin-comm", :lib, :man, :ext, :"ext-arch", :"ext-comm", :rdoc]) do |ins|
 | 
			
		||||
         [:local, :bin, :"bin-arch", :"bin-comm", :lib, :man, :ext, :"ext-arch", :"ext-comm", :rdoc, :capi]) do |ins|
 | 
			
		||||
    $install << ins
 | 
			
		||||
  end
 | 
			
		||||
  opt.on('--data-mode=OCTAL-MODE', OptionParser::OctalInteger) do |mode|
 | 
			
		||||
| 
						 | 
				
			
			@ -221,6 +221,7 @@ sitearchlibdir = CONFIG["sitearchdir"]
 | 
			
		|||
vendorlibdir = CONFIG["vendorlibdir"]
 | 
			
		||||
vendorarchlibdir = CONFIG["vendorarchdir"]
 | 
			
		||||
mandir = File.join(CONFIG["mandir"], "man")
 | 
			
		||||
capidir = CONFIG["docdir"]
 | 
			
		||||
configure_args = Shellwords.shellwords(CONFIG["configure_args"])
 | 
			
		||||
enable_shared = CONFIG["ENABLE_SHARED"] == 'yes'
 | 
			
		||||
dll = CONFIG["LIBRUBY_SO"]
 | 
			
		||||
| 
						 | 
				
			
			@ -278,7 +279,7 @@ if $extout
 | 
			
		|||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
install?(:rdoc) do
 | 
			
		||||
install?(:doc, :rdoc) do
 | 
			
		||||
  if $rdocdir
 | 
			
		||||
    puts "installing rdoc"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -288,6 +289,13 @@ install?(:rdoc) do
 | 
			
		|||
    install_recursive($rdocdir, ridatadir, :mode => $data_mode)
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
install?(:doc, :capi) do
 | 
			
		||||
  puts "installing capi-docs"
 | 
			
		||||
 | 
			
		||||
  makedirs [capidir]
 | 
			
		||||
  Dir.chdir("doc")
 | 
			
		||||
  install_recursive "capi", capidir, :mode => $data_mode
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
install?(:local, :comm, :bin, :'bin-comm') do
 | 
			
		||||
  puts "installing command scripts"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										84
									
								
								tool/file2lastrev.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										84
									
								
								tool/file2lastrev.rb
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,84 @@
 | 
			
		|||
#!/usr/bin/env ruby
 | 
			
		||||
 | 
			
		||||
require 'optparse'
 | 
			
		||||
require 'pathname'
 | 
			
		||||
 | 
			
		||||
class VCSNotFoundError < RuntimeError; end
 | 
			
		||||
 | 
			
		||||
def detect_vcs(path)
 | 
			
		||||
  target_path = Pathname(File.expand_path(path))
 | 
			
		||||
 | 
			
		||||
  path = target_path.directory? ? target_path : target_path.parent  
 | 
			
		||||
  begin
 | 
			
		||||
    return :svn, target_path.relative_path_from(path) if File.directory?("#{path}/.svn")
 | 
			
		||||
    return :git, target_path.relative_path_from(path) if File.directory?("#{path}/.git")
 | 
			
		||||
    path, orig = path.parent, path
 | 
			
		||||
  end until path == orig
 | 
			
		||||
  raise VCSNotFoundError, "does not seem to be under a vcs"
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
def get_revisions(path)
 | 
			
		||||
  ENV['LANG'] = ENV['LC_ALL'] = ENV['LC_MESSAGES'] = 'C'
 | 
			
		||||
  vcs, path = detect_vcs(path)
 | 
			
		||||
 | 
			
		||||
  info = case vcs
 | 
			
		||||
  when :svn
 | 
			
		||||
    `svn info #{path}`
 | 
			
		||||
  when :git
 | 
			
		||||
    `git svn info #{path}`
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  if info =~ /^Revision: (\d+)$/
 | 
			
		||||
    last = $1 
 | 
			
		||||
  else
 | 
			
		||||
    raise "last revision not found"
 | 
			
		||||
  end
 | 
			
		||||
  if info =~ /^Last Changed Rev: (\d+)$/
 | 
			
		||||
    changed = $1
 | 
			
		||||
  else
 | 
			
		||||
    raise "changed revision not found"
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  return last, changed
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
def raise_if_conflict
 | 
			
		||||
  raise "you can specify only one of --changed, --revision.h and --doxygen" if $output
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
parser = OptionParser.new {|opts|
 | 
			
		||||
  opts.on("--changed", "changed rev") do
 | 
			
		||||
    raise_if_conflict
 | 
			
		||||
    $output = :changed
 | 
			
		||||
  end
 | 
			
		||||
  opts.on("--revision.h") do
 | 
			
		||||
    raise_if_conflict
 | 
			
		||||
    $output = :revision_h
 | 
			
		||||
  end
 | 
			
		||||
  opts.on("--doxygen") do
 | 
			
		||||
    raise_if_conflict
 | 
			
		||||
    $output = :doxygen
 | 
			
		||||
  end
 | 
			
		||||
  opts.on("-q", "--suppress_not_found") do
 | 
			
		||||
    $suppress_not_found = true
 | 
			
		||||
  end
 | 
			
		||||
}
 | 
			
		||||
parser.parse!
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
begin
 | 
			
		||||
  last, changed = get_revisions(ARGV.shift)
 | 
			
		||||
rescue VCSNotFoundError
 | 
			
		||||
  raise unless $suppress_not_found
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
case $output
 | 
			
		||||
when :changed, nil
 | 
			
		||||
  puts changed
 | 
			
		||||
when :revision_h
 | 
			
		||||
  puts "#define RUBY_REVISION #{changed}"
 | 
			
		||||
when :doxygen
 | 
			
		||||
  puts "r#{changed}/r#{last}"
 | 
			
		||||
else
 | 
			
		||||
  raise "unknown output format `#{$output}'"
 | 
			
		||||
end
 | 
			
		||||
							
								
								
									
										22
									
								
								tool/strip-rdoc.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								tool/strip-rdoc.rb
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,22 @@
 | 
			
		|||
#!ruby
 | 
			
		||||
 | 
			
		||||
source = ARGF.read
 | 
			
		||||
source = source.gsub(%r{/\*\*((?!\*/).+?)\*/}m) do |comment| 
 | 
			
		||||
  comment = $1
 | 
			
		||||
  next "/**#{comment}*/" unless /^\s*\*\s?\-\-\s*$/ =~ comment
 | 
			
		||||
  doxybody = nil
 | 
			
		||||
  comment.each_line do |line|
 | 
			
		||||
    if doxybody
 | 
			
		||||
      if /^\s*\*\s?\+\+\s*$/ =~ line
 | 
			
		||||
        break
 | 
			
		||||
      end
 | 
			
		||||
      doxybody << line
 | 
			
		||||
    else
 | 
			
		||||
      if /^\s*\*\s?--\s*$/ =~ line
 | 
			
		||||
        doxybody = "\n"
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
  "/**#{doxybody}*/"
 | 
			
		||||
end
 | 
			
		||||
print source
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue