(NM): new variable. (OBSOLETE_FUNCTIONS): Ditto. (NEW_FUNCTIONS): Ditto. (install-headers): Install regex.h. (install-man): New target. (install): Use new target. (DLL_OFILES): Add v8_reg* stuff. (new-cygwin1.dll): Eliminate stamp-cygwin-lib creation. (libcygwin.a): Remove obsolete functions from import lib. Add new functions. * configure.in: Detect 'nm' tool. * configure: Regenerate. * cygwin.din: Export posix_reg* functions. Eliminate export of v8 reg* functions. This is now handled in object files themselves. * regex/*: New files. * regexp/v8_*.c: New files, renamed from non v8_ equivalents.
		
			
				
	
	
		
			77 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #! /bin/sh
 | |
| # mkh - pull headers out of C source
 | |
| PATH=/bin:/usr/bin ; export PATH
 | |
| 
 | |
| # egrep pattern to pick out marked lines
 | |
| egrep='^ =([ 	]|$)'
 | |
| 
 | |
| # Sed program to process marked lines into lines for the header file.
 | |
| # The markers have already been removed.  Two things are done here:  removal
 | |
| # of backslashed newlines, and some fudging of comments.  The first is done
 | |
| # because -o needs to have prototypes on one line to strip them down.
 | |
| # Getting comments into the output is tricky; we turn C++-style // comments
 | |
| # into /* */ comments, after altering any existing */'s to avoid trouble.
 | |
| peel='	/\\$/N
 | |
| 	/\\\n[ 	]*/s///g
 | |
| 	/\/\//s;\*/;* /;g
 | |
| 	/\/\//s;//\(.*\);/*\1 */;'
 | |
| 
 | |
| for a
 | |
| do
 | |
| 	case "$a" in
 | |
| 	-o)	# old (pre-function-prototype) compiler
 | |
| 		# add code to comment out argument lists
 | |
| 		peel="$peel
 | |
| 			"'/^\([^#\/][^\/]*[a-zA-Z0-9_)]\)(\(.*\))/s;;\1(/*\2*/);'
 | |
| 		shift
 | |
| 		;;
 | |
| 	-b)	# funny Berkeley __P macro
 | |
| 		peel="$peel
 | |
| 			"'/^\([^#\/][^\/]*[a-zA-Z0-9_)]\)(\(.*\))/s;;\1 __P((\2));'
 | |
| 		shift
 | |
| 		;;
 | |
| 	-s)	# compiler doesn't like `static foo();'
 | |
| 		# add code to get rid of the `static'
 | |
| 		peel="$peel
 | |
| 			"'/^static[ 	][^\/]*[a-zA-Z0-9_)](.*)/s;static.;;'
 | |
| 		shift
 | |
| 		;;
 | |
| 	-p)	# private declarations
 | |
| 		egrep='^ ==([ 	]|$)'
 | |
| 		shift
 | |
| 		;;
 | |
| 	-i)	# wrap in #ifndef, argument is name
 | |
| 		ifndef="$2"
 | |
| 		shift ; shift
 | |
| 		;;
 | |
| 	*)	break
 | |
| 		;;
 | |
| 	esac
 | |
| done
 | |
| 
 | |
| if test " $ifndef" != " "
 | |
| then
 | |
| 	echo "#ifndef $ifndef"
 | |
| 	echo "#define	$ifndef	/* never again */"
 | |
| fi
 | |
| echo "/* ========= begin header generated by $0 ========= */"
 | |
| echo '#ifdef __cplusplus'
 | |
| echo 'extern "C" {'
 | |
| echo '#endif'
 | |
| for f
 | |
| do
 | |
| 	echo
 | |
| 	echo "/* === $f === */"
 | |
| 	egrep "$egrep" $f | sed 's/^ ==*[ 	]//;s/^ ==*$//' | sed "$peel"
 | |
| 	echo
 | |
| done
 | |
| echo '#ifdef __cplusplus'
 | |
| echo '}'
 | |
| echo '#endif'
 | |
| echo "/* ========= end header generated by $0 ========= */"
 | |
| if test " $ifndef" != " "
 | |
| then
 | |
| 	echo "#endif"
 | |
| fi
 | |
| exit 0
 |