Permalink
Browse files

script to package a source package /sorting folders

  • Loading branch information...
1 parent 5880387 commit ccfe717720fc51f192e73ba1754a0051716c9698 @MarwanG MarwanG committed Jul 6, 2013
View
@@ -0,0 +1,28 @@
+# where to install
+PREFIX = @prefix@
+BINDIR = $(PREFIX)/bin
+
+SRCS = $(wildcard src/*.ml src/*.mli src/*.mll src/*.mly)
+TARGS = arbogen
+KIND = native # d.byte
+FLAGS = -w,Ae,-warn-error,A
+
+all: $(TARGS)
+
+arbogen: _build/src/Arbogen.$(KIND)
+ cp $< $@
+
+install:: arbogen
+ mkdir -p $(BINDIR)
+ mv arbogen $(BINDIR)
+ mkdir -p $(MANDIR)/man1
+ cp -f doc/$(TARGS).1 /usr/local/man/man1/$(TARGS).1
+
+_build/src/%.$(KIND): $(SRCS)
+ ocamlbuild -cflags $(FLAGS) -no-links -I src $*.$(KIND)
+
+clean:
+ @ocamlbuild -clean
+ @rm -f *~ $(TARGS)
+
+.PHONY: all clean
View
@@ -0,0 +1,147 @@
+#
+# autoconf input for Objective Caml programs
+# Copyright (C) 2001 Jean-Christophe Filliâtre
+# from a first script by Georges Mariano
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License version 2, as published by the Free Software Foundation.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#
+# See the GNU Library General Public License version 2 for more details
+# (enclosed in the file LGPL).
+
+# the script generated by autoconf from this input will set the following
+# variables:
+# OCAMLC "ocamlc" if present in the path, or a failure
+# or "ocamlc.opt" if present with same version number as ocamlc
+# OCAMLOPT "ocamlopt" (or "ocamlopt.opt" if present), or "no"
+# OCAMLBEST either "byte" if no native compiler was found,
+# or "opt" otherwise
+# OCAMLDEP "ocamldep"
+# OCAMLLEX "ocamllex" (or "ocamllex.opt" if present)
+# OCAMLYACC "ocamlyac"
+# OCAMLLIB the path to the ocaml standard library
+# OCAMLVERSION the ocaml version number
+# OCAMLWEB "ocamlweb" (not mandatory)
+# OCAMLWIN32 "yes"/"no" depending on Sys.os_type = "Win32"
+# EXE ".exe" if OCAMLWIN32=yes, "" otherwise
+
+# check for one particular file of the sources
+# ADAPT THE FOLLOWING LINE TO YOUR SOURCES!
+AC_INIT(src/Gen.ml)
+
+# Check for Ocaml compilers
+
+# we first look for ocamlc in the path; if not present, we fail
+AC_CHECK_PROG(OCAMLC,ocamlc,ocamlc,no)
+if test "$OCAMLC" = no ; then
+ AC_MSG_ERROR(Cannot find ocamlc.)
+fi
+
+# we extract Ocaml version number and library path
+OCAMLVERSION=`$OCAMLC -v | sed -n -e 's|.*version *\(.*\)$|\1|p' `
+echo "ocaml version is $OCAMLVERSION"
+OCAMLLIB=`$OCAMLC -v | tail -1 | cut -f 4 -d " "`
+echo "ocaml library path is $OCAMLLIB"
+
+# then we look for ocamlopt; if not present, we issue a warning
+# if the version is not the same, we also discard it
+# we set OCAMLBEST to "opt" or "byte", whether ocamlopt is available or not
+AC_CHECK_PROG(OCAMLOPT,ocamlopt,ocamlopt,no)
+OCAMLBEST=byte
+if test "$OCAMLOPT" = no ; then
+ AC_MSG_WARN(Cannot find ocamlopt; bytecode compilation only.)
+else
+ AC_MSG_CHECKING(ocamlopt version)
+ TMPVERSION=`$OCAMLOPT -v | sed -n -e 's|.*version *\(.*\)$|\1|p' `
+ if test "$TMPVERSION" != "$OCAMLVERSION" ; then
+ AC_MSG_RESULT(differs from ocamlc; ocamlopt discarded.)
+ OCAMLOPT=no
+ else
+ AC_MSG_RESULT(ok)
+ OCAMLBEST=opt
+ fi
+fi
+
+# checking for ocamlc.opt
+AC_CHECK_PROG(OCAMLCDOTOPT,ocamlc.opt,ocamlc.opt,no)
+if test "$OCAMLCDOTOPT" != no ; then
+ AC_MSG_CHECKING(ocamlc.opt version)
+ TMPVERSION=`$OCAMLCDOTOPT -v | sed -n -e 's|.*version *\(.*\)$|\1|p' `
+ if test "$TMPVERSION" != "$OCAMLVERSION" ; then
+ AC_MSG_RESULT(differs from ocamlc; ocamlc.opt discarded.)
+ else
+ AC_MSG_RESULT(ok)
+ OCAMLC=$OCAMLCDOTOPT
+ fi
+fi
+
+# checking for ocamlopt.opt
+if test "$OCAMLOPT" != no ; then
+ AC_CHECK_PROG(OCAMLOPTDOTOPT,ocamlopt.opt,ocamlopt.opt,no)
+ if test "$OCAMLOPTDOTOPT" != no ; then
+ AC_MSG_CHECKING(ocamlc.opt version)
+ TMPVER=`$OCAMLOPTDOTOPT -v | sed -n -e 's|.*version *\(.*\)$|\1|p' `
+ if test "$TMPVER" != "$OCAMLVERSION" ; then
+ AC_MSG_RESULT(differs from ocamlc; ocamlopt.opt discarded.)
+ else
+ AC_MSG_RESULT(ok)
+ OCAMLOPT=$OCAMLOPTDOTOPT
+ fi
+ fi
+fi
+
+# ocamldep, ocamllex and ocamlyacc should also be present in the path
+AC_CHECK_PROG(OCAMLDEP,ocamldep,ocamldep,no)
+if test "$OCAMLDEP" = no ; then
+ AC_MSG_ERROR(Cannot find ocamldep.)
+fi
+
+AC_CHECK_PROG(OCAMLLEX,ocamllex,ocamllex,no)
+if test "$OCAMLLEX" = no ; then
+ AC_MSG_ERROR(Cannot find ocamllex.)
+else
+ AC_CHECK_PROG(OCAMLLEXDOTOPT,ocamllex.opt,ocamllex.opt,no)
+ if test "$OCAMLLEXDOTOPT" != no ; then
+ OCAMLLEX=$OCAMLLEXDOTOPT
+ fi
+fi
+
+AC_CHECK_PROG(OCAMLYACC,ocamlyacc,ocamlyacc,no)
+if test "$OCAMLYACC" = no ; then
+ AC_MSG_ERROR(Cannot find ocamlyacc.)
+fi
+
+AC_CHECK_PROG(OCAMLWEB,ocamlweb,ocamlweb,true)
+
+# platform
+AC_MSG_CHECKING(platform)
+if echo "let _ = Sys.os_type" | ocaml | grep -q Win32; then
+ AC_MSG_RESULT(Win32)
+ OCAMLWIN32=yes
+ EXE=.exe
+else
+ OCAMLWIN32=no
+ EXE=
+fi
+
+# substitutions to perform
+AC_SUBST(OCAMLC)
+AC_SUBST(OCAMLOPT)
+AC_SUBST(OCAMLDEP)
+AC_SUBST(OCAMLLEX)
+AC_SUBST(OCAMLYACC)
+AC_SUBST(OCAMLBEST)
+AC_SUBST(OCAMLVERSION)
+AC_SUBST(OCAMLLIB)
+AC_SUBST(OCAMLWEB)
+AC_SUBST(OCAMLWIN32)
+AC_SUBST(EXE)
+
+# Finally create the Makefile from Makefile.in
+AC_OUTPUT(Makefile)
+chmod a-w Makefile
View
Binary file not shown.
View
@@ -0,0 +1,49 @@
+.\" Manpage for Arbogen.
+.\" Contact marwan.t.ghanem@gmail.com to correct errors or typos.
+.TH man 1 "05 June 2013" "1.0" "Arbogen man page"
+.SH NAME
+Arbogen \- creates a random tree.
+.SH SYNOPSIS
+Arbogen [options][filename]
+.SH DESCRIPTION
+Arbogen is a ocaml based program that generates random trees depending on grammer passed in .spec files.
+
+.SH OPTIONS
+The following command-line options are recognized by Arbogen.
+
+-version print version information
+
+-interactive activate interactive mode
+
+-verbose : set the verbosity level (a positive integer)
+
+-min : set the minimum size for the generated tree (a strictly positive integer)
+
+-max : set the maximum size for the generated tree (a strictly positive integer)
+
+-seed : set the random generator seed
+
+-eps1 : set the epsilon for singularity search (a strictly positive float number)
+
+-eps1_factor: set the refinement factor for epsilon in singularity search (a strictly positive float number)
+
+-eps2 : set the epsilon for Newton iteration (a strictly positive float number)
+
+-eps2_factor : set the refinement factor for epsilon in Newton iteration (a strictly positive float number)
+
+-try : set the maximum of tries when generating trees
+
+-type : set the type of output generated at the end
+
+-file : set the name of the file to be created at end of execution
+
+-zstart : sets the value of zstart
+
+-help :Display this list of options
+
+--help : Display this list of options
+
+.SH BUGS
+No known bugs.
+.SH AUTHOR
+Frederic Peschanski (frederic.peschanski@lip6.fr)
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
View
Binary file not shown.
Oops, something went wrong.

0 comments on commit ccfe717

Please sign in to comment.