1
0
Fork 0

Merge branch 'brandon/gnu' into gnu

perfodd
Mike Gerwitz 2013-12-22 00:00:29 -05:00
commit 465fe35831
No known key found for this signature in database
GPG Key ID: F22BB8158EE30EAB
11 changed files with 74 additions and 53 deletions

4
.gitignore vendored
View File

@ -14,10 +14,12 @@ Makefile
configure configure
config.* config.*
# should be added using automake --add-missing # should be added using autoreconf -i
INSTALL INSTALL
tools/install-sh tools/install-sh
tools/missing tools/missing
tools/mdate-sh
tools/texinfo.tex
# downloaded manually by user # downloaded manually by user
tools/closure-compiler.jar tools/closure-compiler.jar

View File

@ -1,6 +1,7 @@
## ease.js Makefile.am ## ease.js Makefile.am
# see README # see README
SUBDIRS = doc
EXTRA_DIST = AUTHORS NEWS ChangeLog EXTRA_DIST = AUTHORS NEWS ChangeLog
path_build = $(top_builddir)/build path_build = $(top_builddir)/build
@ -19,8 +20,8 @@ perf_tests = @PERF_TESTS@
path_externs_internal = $(path_build)/externs-internal.js path_externs_internal = $(path_build)/externs-internal.js
combine = $(path_tools)/combine combine = $(path_tools)/combine
compiler = $(path_tools)/closure-compiler.jar compiler = @CCJAR@
MKDIR_P = @MKDIR_P@
.PHONY: mkbuild combine min doc test perf .PHONY: mkbuild combine min doc test perf
@ -31,7 +32,7 @@ mkbuild: $(path_build)
# create build dir # create build dir
$(path_build): $(path_build):
mkdir -p "$(path_build)" $(MKDIR_P) "$(path_build)"
combine: $(path_combine_output) $(path_build)/browser-test.html combine: $(path_combine_output) $(path_build)/browser-test.html

9
README
View File

@ -34,10 +34,11 @@ If your distribution contains a `configure' file in the project root, you
may jump immediately to INSTALL. may jump immediately to INSTALL.
Otherwise, you likely have the sources as they exist in the project Otherwise, you likely have the sources as they exist in the project
repository, which does not contain the generature `configure' script; you repository, which does not contain the generated `configure' script; you
may generate it by issuing the following commands: may generate it by issuing the following commands:
$ aclocal && automake --add-missing --foreign && autoconf $ autoreconf -fvi
Please note that the --foreign argument is necessary to `automake' to ignore Please note that certain files (such as AUTHORS, NEWS, and ChangeLog) are
certain missing files (such as ChangeLog) that are generated at build time. generated as part of the `dist' target and do not exist as part of the
repository.

View File

@ -20,11 +20,12 @@
AC_INIT([ease.js], [0.2.0-dev], [bugs@easejs.org]) AC_INIT([ease.js], [0.2.0-dev], [bugs@easejs.org])
AC_CONFIG_AUX_DIR([tools]) AC_CONFIG_AUX_DIR([tools])
AM_INIT_AUTOMAKE AM_INIT_AUTOMAKE([foreign])
AC_CONFIG_FILES([Makefile]) AC_PROG_MKDIR_P
# check for node, which is required for nearly every operation # check for node, which is required for nearly every operation
AC_ARG_VAR([NODE], [The node.js interpreter])
AC_CHECK_PROGS(NODE, [node nodejs]) AC_CHECK_PROGS(NODE, [node nodejs])
AM_CONDITIONAL(HAS_NODE, [test "$NODE"]) AM_CONDITIONAL(HAS_NODE, [test "$NODE"])
@ -74,20 +75,28 @@ else
fi fi
# Java is used for Closure Compiler # Java is used for Closure Compiler
AC_ARG_VAR([JAVA], [The Java executable])
AC_ARG_VAR([CCJAR], [The Clojure Compiler jar file])
AC_CHECK_PROGS(JAVA, [java]) AC_CHECK_PROGS(JAVA, [java])
AM_CONDITIONAL(HAS_JAVA, [test "$JAVA"]) AM_CONDITIONAL(HAS_JAVA, [test "$JAVA"])
ccjar= ccjar=
if test "$JAVA"; then AS_IF(test "$JAVA" -a ! "$CCJAR",
AC_CHECK_FILE([tools/closure-compiler.jar], [ccjar=1], [AC_MSG_NOTICE([ [AC_CHECK_FILE([$srcdir/tools/closure-compiler.jar],
[AC_SUBST([CCJAR], [$srcdir/tools/closure-compiler.jar])],
[AC_MSG_NOTICE([
If you wish perform minification of the combined source file, you must If you wish perform minification of the combined source file, you must
download closure-compiler.jar into the tools directory; it is available download closure-compiler.jar into the tools sub-directory; it is
here: available here:
https://developers.google.com/closure/compiler/ https://developers.google.com/closure/compiler/
])])
fi
AM_CONDITIONAL(HAS_CCJAR, [test "$ccjar"])
If it is installed elsewhere on your system, specify its location with
the CCJAR environment variable.
])])], [])
AM_CONDITIONAL(HAS_CCJAR, [test "$CCJAR"])
AC_CONFIG_FILES([Makefile doc/Makefile])
AC_OUTPUT AC_OUTPUT

4
doc/.gitignore vendored
View File

@ -10,3 +10,7 @@
*.vr *.vr
*.pdf *.pdf
*.toc *.toc
version.texi
easejs.info
stamp-vti

View File

@ -1,4 +1,3 @@
##
# ease.js manual Makefile # ease.js manual Makefile
# #
# Responsible for building the project documentation. # Responsible for building the project documentation.
@ -21,20 +20,27 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
## ##
info_TEXINFOS = easejs.texi
easejs_TEXINFOS = license.texi about.texi classes.texi \
impl-details.texi integration.texi mkeywords.texi source-tree.texi
EXTRA_DIST = README highlight.pack.js interactive.js easejs.css \
img/composition-uml.dia img/composition-uml.txt inheritance-ex.dia \
inheritance-ex.txt visobj-collection-wide.dia \
visobj-collection-wide.txt visobj.dia visobj.txt
path_doc=. path_doc=.
path_build=../build path_build=../build
path_lib=../lib path_lib=../lib
docdir = @docdir@
path_doc_output=${path_build}/doc path_doc_output=${path_build}/doc
path_doc_output_info=${path_doc_output}/easejs.info path_doc_output_plain=${path_doc_output}/easejs.txt
path_doc_output_plain=${path_doc_output}/manual.txt path_doc_output_html=${path_doc_output}/easejs
path_doc_output_html=${path_doc_output}/manual path_doc_output_html1=${path_doc_output}/easejs.html
path_doc_output_html1=${path_doc_output}/manual.html path_doc_css=${path_doc}/easejs.css
path_doc_css=${path_doc}/manual.css
path_doc_img=${path_doc}/img path_doc_img=${path_doc}/img
path_doc_css_ref=manual.css path_doc_css_ref=easejs.css
path_manual_texi=${path_doc}/manual.texi path_easejs_texi=${path_doc}/easejs.texi
path_info_install := /usr/local/share/info
doc_src := $(wildcard $(path_doc)/*.texi) doc_src := $(wildcard $(path_doc)/*.texi)
doc_imgs := $(patsubst %.dia, %.png, $(wildcard $(path_doc_img)/*.dia)) doc_imgs := $(patsubst %.dia, %.png, $(wildcard $(path_doc_img)/*.dia))
@ -44,7 +50,7 @@ doc_replace := s/<\/body>/<script type="text\/javascript" \
src="highlight.pack.js"><\/script><script type="text\/javascript" \ src="highlight.pack.js"><\/script><script type="text\/javascript" \
src="interactive.js"><\/script><\/body>/\ src="interactive.js"><\/script><\/body>/\
;s/\&gt\;=/\&\#8805\;/g\ ;s/\&gt\;=/\&\#8805\;/g\
;s/\&lt\;=/\&\#8804\;/g\ ;s/\&lt\;=/\&\#8804\;/g
.PHONY: doc mkbuild-doc img pdf info plain html .PHONY: doc mkbuild-doc img pdf info plain html
@ -68,19 +74,15 @@ $(path_doc)/img/%.png: $(path_doc)/img/%.dia
# doc pdf # doc pdf
$(path_doc_output)/%.pdf: $(doc_src) $(doc_imgs) | mkbuild-doc img $(path_doc_output)/%.pdf: $(doc_src) $(doc_imgs) | mkbuild-doc img
TEXINPUTS="$(path_doc):" \ TEXINPUTS="$(path_doc):" \
pdftex -output-directory "${path_doc}" "${path_manual_texi}" && \ pdftex -output-directory "${path_doc}" "${path_easejs_texi}" && \
TEXINPUTS="$(path_doc):" \ TEXINPUTS="$(path_doc):" \
pdftex -output-directory "${path_doc}" "${path_manual_texi}" pdftex -output-directory "${path_doc}" "${path_easejs_texi}"
mv -f "${path_doc}"/*.pdf "${path_doc_output}" mv -f "${path_doc}"/*.pdf "${path_doc_output}"
cd "$(path_doc)" && rm -f $(shell cat "$(path_doc)/.gitignore") cd "$(path_doc)" && rm -f $(shell cat "$(path_doc)/.gitignore")
# doc info
$(path_doc_output_info): $(doc_src) $(doc_imgs_txt) | mkbuild-doc
makeinfo -I "$(path_doc)" -o $@ "$(path_manual_texi)";
# doc plain text # doc plain text
$(path_doc_output_plain): $(doc_imgs_txt) | mkbuild-doc $(path_doc_output_plain): $(doc_imgs_txt) | mkbuild-doc
makeinfo --plain -I "$(path_doc)" "${path_manual_texi}" > $@ makeinfo --plain -I "$(path_doc)" "${path_easejs_texi}" > $@
# doc html (multiple pages) # doc html (multiple pages)
$(path_doc_output_html)/index.html: $(doc_src) $(path_doc_css) \ $(path_doc_output_html)/index.html: $(doc_src) $(path_doc_css) \
@ -88,7 +90,7 @@ $(path_doc_output_html)/index.html: $(doc_src) $(path_doc_css) \
$(path_doc_output_html)/highlight.pack.js \ $(path_doc_output_html)/highlight.pack.js \
$(path_doc_output_html)/$(path_doc_css_ref) mkbuild-doc img $(path_doc_output_html)/$(path_doc_css_ref) mkbuild-doc img
makeinfo --html --css-ref="$(path_doc_css_ref)" \ makeinfo --html --css-ref="$(path_doc_css_ref)" \
-I "$(path_doc)" -o "${path_doc_output_html}" "${path_manual_texi}" -I "$(path_doc)" -o "${path_doc_output_html}" "${path_easejs_texi}"
sed -i '$(doc_replace)' $(path_doc_output_html)/*.htm? sed -i '$(doc_replace)' $(path_doc_output_html)/*.htm?
# doc html (single page) # doc html (single page)
@ -96,7 +98,7 @@ $(path_doc_output_html1): $(doc_src) $(path_doc_css) \
| $(path_doc_output)/img $(path_doc_output)/interactive.js \ | $(path_doc_output)/img $(path_doc_output)/interactive.js \
$(path_doc_output)/highlight.pack.js mkbuild-doc img $(path_doc_output)/highlight.pack.js mkbuild-doc img
makeinfo --no-split --html --css-include="${path_doc_css}" \ makeinfo --no-split --html --css-include="${path_doc_css}" \
-I "$(path_doc)" -o - "${path_manual_texi}" \ -I "$(path_doc)" -o - "${path_easejs_texi}" \
| sed '$(doc_replace)' \ | sed '$(doc_replace)' \
> "$(path_doc_output_html1)" > "$(path_doc_output_html1)"
@ -120,10 +122,21 @@ $(path_doc_output_html)/%.css: $(path_doc)/%.css
img: $(doc_imgs) img: $(doc_imgs)
pdf: $(path_doc_output)/manual.pdf pdf: $(path_doc_output)/easejs.pdf
info: $(path_doc_output_info) install-pdf: pdf
install -d $(DESTDIR)$(docdir)
install -m644 $(path_doc_output)/easejs.pdf $(DESTDIR)$(docdir)/easejs.pdf
plain: $(path_doc_output_plain) plain: $(path_doc_output_plain)
install-plain: plain
install -d $(DESTDIR)$(docdir)
install -m644 $(path_doc_output_plain) $(DESTDIR)$(docdir)/easejs.txt
html: $(path_doc_output_html)/index.html $(path_doc_output_html1) html: $(path_doc_output_html)/index.html $(path_doc_output_html1)
install-html: html
install -d $(DESTDIR)$(docdir)/easejs
install -m644 $(path_doc_output_html)/index.html $(DESTDIR)$(docdir)/easejs/index.html
install -m644 $(path_doc_output_html1) $(DESTDIR)$(docdir)/easejs.html
clean: clean:
rm -rf $(path_doc_output) rm -rf $(path_doc_output)

View File

@ -511,8 +511,8 @@ One of the following conditions must always be true:
@ref{Member Keywords,,@code{override}} keyword. @ref{Member Keywords,,@code{override}} keyword.
@itemize @itemize
@item @item
Note that @var{dfn\_n\^C'} will not become @ref{Member Note that @var{dfn\_n\^C'} will not become @ref{Member Keywords,,@code{virtual}}
Keywords,,@code{virtual}} by default (unlike languages such as C++); they by default (unlike languages such as C++); they
must be explicitly declared as such. must be explicitly declared as such.
@end itemize @end itemize
@item @item
@ -535,8 +535,8 @@ A method is said to be @dfn{concrete} when it provides a definition and
Any method @var{n} such that @var{dfn\_n\^C} is declared @code{abstract} may Any method @var{n} such that @var{dfn\_n\^C} is declared @code{abstract} may
be overridden by a concrete or abstract method @var{dfn\_n\^C'}. be overridden by a concrete or abstract method @var{dfn\_n\^C'}.
@item @item
A method @var{n} may @emph{not} be declared @ref{Member A method @var{n} may @emph{not} be declared @ref{Member Keywords,,@code{abstract}}
Keywords,,@code{abstract}} if @var{dfn\_n\^C} is concrete. if @var{dfn\_n\^C} is concrete.
@end itemize @end itemize
@item @item
Member @var{dfn\_n\^C'} must be a method. Member @var{dfn\_n\^C'} must be a method.

View File

@ -1,11 +1,10 @@
\input texinfo @c -*-texinfo-*- \input texinfo @c -*-texinfo-*-
@c %**start of header @c %**start of header
@setfilename manual.info @setfilename manual.info
@include version.texi
@settitle ease.js Manual v@value{VERSION} @settitle ease.js Manual v@value{VERSION}
@c %**end of header @c %**end of header
@include version.texi
@copying @copying
This manual is for ease.js, version @value{VERSION}. This manual is for ease.js, version @value{VERSION}.

View File

@ -1,2 +0,0 @@
@c DO NOT MODIFY; generated by verset (not autoconf)
@set VERSION 0.2.0-dev

View File

@ -39,12 +39,6 @@ cat version.js.tpl | sed "
s/@SUFFIX@/${suffix#-}/; s/@SUFFIX@/${suffix#-}/;
" > ../lib/version.js " > ../lib/version.js
# output version for docs
cat - > ../doc/version.texi <<EOF
@c DO NOT MODIFY; generated by verset (not autoconf)
@set VERSION $version
EOF
# update package.json for npm # update package.json for npm
sed -i 's/"version":.*/"version": "'$version'",/' ../package.json sed -i 's/"version":.*/"version": "'$version'",/' ../package.json