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
config.*
# should be added using automake --add-missing
# should be added using autoreconf -i
INSTALL
tools/install-sh
tools/missing
tools/mdate-sh
tools/texinfo.tex
# downloaded manually by user
tools/closure-compiler.jar

View File

@ -1,6 +1,7 @@
## ease.js Makefile.am
# see README
SUBDIRS = doc
EXTRA_DIST = AUTHORS NEWS ChangeLog
path_build = $(top_builddir)/build
@ -19,8 +20,8 @@ perf_tests = @PERF_TESTS@
path_externs_internal = $(path_build)/externs-internal.js
combine = $(path_tools)/combine
compiler = $(path_tools)/closure-compiler.jar
compiler = @CCJAR@
MKDIR_P = @MKDIR_P@
.PHONY: mkbuild combine min doc test perf
@ -31,7 +32,7 @@ mkbuild: $(path_build)
# create build dir
$(path_build):
mkdir -p "$(path_build)"
$(MKDIR_P) "$(path_build)"
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.
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:
$ aclocal && automake --add-missing --foreign && autoconf
$ autoreconf -fvi
Please note that the --foreign argument is necessary to `automake' to ignore
certain missing files (such as ChangeLog) that are generated at build time.
Please note that certain files (such as AUTHORS, NEWS, and ChangeLog) are
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_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
AC_ARG_VAR([NODE], [The node.js interpreter])
AC_CHECK_PROGS(NODE, [node nodejs])
AM_CONDITIONAL(HAS_NODE, [test "$NODE"])
@ -74,20 +75,28 @@ else
fi
# 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])
AM_CONDITIONAL(HAS_JAVA, [test "$JAVA"])
ccjar=
if test "$JAVA"; then
AC_CHECK_FILE([tools/closure-compiler.jar], [ccjar=1], [AC_MSG_NOTICE([
AS_IF(test "$JAVA" -a ! "$CCJAR",
[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
download closure-compiler.jar into the tools directory; it is available
here:
download closure-compiler.jar into the tools sub-directory; it is
available here:
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

4
doc/.gitignore vendored
View File

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

View File

@ -1,4 +1,3 @@
##
# ease.js manual Makefile
#
# Responsible for building the project documentation.
@ -21,20 +20,27 @@
# 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_build=../build
path_lib=../lib
docdir = @docdir@
path_doc_output=${path_build}/doc
path_doc_output_info=${path_doc_output}/easejs.info
path_doc_output_plain=${path_doc_output}/manual.txt
path_doc_output_html=${path_doc_output}/manual
path_doc_output_html1=${path_doc_output}/manual.html
path_doc_css=${path_doc}/manual.css
path_doc_output_plain=${path_doc_output}/easejs.txt
path_doc_output_html=${path_doc_output}/easejs
path_doc_output_html1=${path_doc_output}/easejs.html
path_doc_css=${path_doc}/easejs.css
path_doc_img=${path_doc}/img
path_doc_css_ref=manual.css
path_manual_texi=${path_doc}/manual.texi
path_info_install := /usr/local/share/info
path_doc_css_ref=easejs.css
path_easejs_texi=${path_doc}/easejs.texi
doc_src := $(wildcard $(path_doc)/*.texi)
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="interactive.js"><\/script><\/body>/\
;s/\&gt\;=/\&\#8805\;/g\
;s/\&lt\;=/\&\#8804\;/g\
;s/\&lt\;=/\&\#8804\;/g
.PHONY: doc mkbuild-doc img pdf info plain html
@ -68,19 +74,15 @@ $(path_doc)/img/%.png: $(path_doc)/img/%.dia
# doc pdf
$(path_doc_output)/%.pdf: $(doc_src) $(doc_imgs) | mkbuild-doc img
TEXINPUTS="$(path_doc):" \
pdftex -output-directory "${path_doc}" "${path_manual_texi}" && \
pdftex -output-directory "${path_doc}" "${path_easejs_texi}" && \
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}"
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
$(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)
$(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)/$(path_doc_css_ref) mkbuild-doc img
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?
# 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)/highlight.pack.js mkbuild-doc img
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)' \
> "$(path_doc_output_html1)"
@ -120,10 +122,21 @@ $(path_doc_output_html)/%.css: $(path_doc)/%.css
img: $(doc_imgs)
pdf: $(path_doc_output)/manual.pdf
info: $(path_doc_output_info)
pdf: $(path_doc_output)/easejs.pdf
install-pdf: pdf
install -d $(DESTDIR)$(docdir)
install -m644 $(path_doc_output)/easejs.pdf $(DESTDIR)$(docdir)/easejs.pdf
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)
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:
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.
@itemize
@item
Note that @var{dfn\_n\^C'} will not become @ref{Member
Keywords,,@code{virtual}} by default (unlike languages such as C++); they
Note that @var{dfn\_n\^C'} will not become @ref{Member Keywords,,@code{virtual}}
by default (unlike languages such as C++); they
must be explicitly declared as such.
@end itemize
@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
be overridden by a concrete or abstract method @var{dfn\_n\^C'}.
@item
A method @var{n} may @emph{not} be declared @ref{Member
Keywords,,@code{abstract}} if @var{dfn\_n\^C} is concrete.
A method @var{n} may @emph{not} be declared @ref{Member Keywords,,@code{abstract}}
if @var{dfn\_n\^C} is concrete.
@end itemize
@item
Member @var{dfn\_n\^C'} must be a method.

View File

@ -1,11 +1,10 @@
\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename manual.info
@include version.texi
@settitle ease.js Manual v@value{VERSION}
@c %**end of header
@include version.texi
@copying
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#-}/;
" > ../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
sed -i 's/"version":.*/"version": "'$version'",/' ../package.json