diff --git a/.gitignore b/.gitignore index 849ddff..ab7e0c8 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,10 @@ -dist/ +META +_tags +*.mldylib +*.mllib +myocamlbuild.ml +setup.data +setup.log +_build/ +*.native +*.clib diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..13d1c53 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,10 @@ +language: c +install: + - wget https://raw.githubusercontent.com/ocaml/ocaml-travisci-skeleton/master/.travis-opam.sh + - wget https://raw.githubusercontent.com/simonjbeaumont/ocaml-travis-coveralls/master/travis-coveralls.sh +script: bash -ex .travis-opam.sh +env: + matrix: + - OCAML_VERSION=4.00 + - OCAML_VERSION=4.01 + - OCAML_VERSION=4.02 diff --git a/ChangeLog b/ChangeLog index a09e295..f7d42e3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,6 @@ +0.9.2 (13-Jan-2015): +* switch back to OASIS + 0.9.1 (28-May-2013): * switch from OASIS to Make + obuild; "make install" supports DESTDIR diff --git a/MAINTAINERS b/MAINTAINERS index fd1cd91..3b46824 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -8,5 +8,6 @@ include a Signed-off-by: line. Maintainers list ---------------- -* David Scott +* David Scott +* Euan Harris diff --git a/Makefile b/Makefile index 0a5afc3..3639f14 100644 --- a/Makefile +++ b/Makefile @@ -1,31 +1,41 @@ -OBUILDOPTS=--debug+ -#CONFOPTS=--enable-library-bytecode --enable-executable-bytecode -PKGNAME=cdrom +# OASIS_START +# DO NOT EDIT (digest: a3c674b4239234cbbe53afe090018954) -SUFFIXES:=cdrom.a cdrom.cmi cdrom.cmx cdrom.o dllstubs_cdrom.so \ - cdrom.cma cdrom.cmo cdrom.cmxa cdrom_stubs.c.o libstubs_cdrom.a -FILES:=$(addprefix dist/build/lib-$(PKGNAME)/,$(SUFFIXES)) +SETUP = ocaml setup.ml -ifneq "$(DESTDIR)" "" -INSTALL_ARGS := -destdir $(DESTDIR) -endif +build: setup.data + $(SETUP) -build $(BUILDFLAGS) -.PHONY: configure build install clean uninstall +doc: setup.data build + $(SETUP) -doc $(DOCFLAGS) -all: build +test: setup.data build + $(SETUP) -test $(TESTFLAGS) -configure: - obuild $(OBUILDOPTS) configure $(CONFOPTS) +all: + $(SETUP) -all $(ALLFLAGS) + +install: setup.data + $(SETUP) -install $(INSTALLFLAGS) -build: configure - obuild $(OBUILDOPTS) build +uninstall: setup.data + $(SETUP) -uninstall $(UNINSTALLFLAGS) -install: build - ocamlfind remove $(PKGNAME) - ocamlfind install $(PKGNAME) $(FILES) lib/META lib/$(PKGNAME).mli $(INSTALL_ARGS) +reinstall: setup.data + $(SETUP) -reinstall $(REINSTALLFLAGS) clean: - obuild clean + $(SETUP) -clean $(CLEANFLAGS) + +distclean: + $(SETUP) -distclean $(DISTCLEANFLAGS) + +setup.data: + $(SETUP) -configure $(CONFIGUREFLAGS) + +configure: + $(SETUP) -configure $(CONFIGUREFLAGS) + +.PHONY: build doc test all install uninstall reinstall clean distclean configure -uninstall: - ocamlfind remove $(PKGNAME) +# OASIS_STOP diff --git a/_oasis b/_oasis new file mode 100644 index 0000000..3aa0e94 --- /dev/null +++ b/_oasis @@ -0,0 +1,26 @@ +OASISFormat: 0.4 +Name: cdrom +Version: 0.9.2 +Synopsis: Query Linux CDROM devices +Authors: David Scott +License: LGPL-2.1 with OCaml linking exception +Plugins: META (0.4), Devfiles (0.4) +BuildTools: ocamlbuild + +Library cdrom + Path: lib + FindlibName: cdrom + Modules: Cdrom + CSources: cdrom_stubs.c + ByteOpt: -warn-error +1..45 + NativeOpt: -warn-error +1..45 + BuildDepends: unix + +Executable query + Path: query + MainIs: query.ml + CompiledObject: best + ByteOpt: -warn-error +1..45 + NativeOpt: -warn-error +1..45 + BuildDepends: cdrom + diff --git a/cdrom.obuild b/cdrom.obuild deleted file mode 100644 index 6871461..0000000 --- a/cdrom.obuild +++ /dev/null @@ -1,17 +0,0 @@ -name: cdrom -version: 0.9.1 -synopsis: Query Linux CDROM devices -obuild-ver: 1 - -library cdrom - src-dir: lib - modules: Cdrom - cdir: lib - c-sources: cdrom_stubs.c - build-deps: unix - -executable query - main: query.ml - src-dir: query - build-deps: cdrom - diff --git a/configure b/configure new file mode 100755 index 0000000..6acfaeb --- /dev/null +++ b/configure @@ -0,0 +1,27 @@ +#!/bin/sh + +# OASIS_START +# DO NOT EDIT (digest: dc86c2ad450f91ca10c931b6045d0499) +set -e + +FST=true +for i in "$@"; do + if $FST; then + set -- + FST=false + fi + + case $i in + --*=*) + ARG=${i%%=*} + VAL=${i##*=} + set -- "$@" "$ARG" "$VAL" + ;; + *) + set -- "$@" "$i" + ;; + esac +done + +ocaml setup.ml -configure "$@" +# OASIS_STOP diff --git a/lib/META b/lib/META deleted file mode 100644 index 5e86e4f..0000000 --- a/lib/META +++ /dev/null @@ -1,8 +0,0 @@ -version = "0.9.1" -description = "CDROM device misc bindings" -archive(byte) = "cdrom.cma" -archive(byte, plugin) = "cdrom.cma" -archive(native) = "cdrom.cmxa" -archive(native, plugin) = "cdrom.cmxs" -exists_if = "cdrom.cma" - diff --git a/opam b/opam new file mode 100644 index 0000000..f7470fa --- /dev/null +++ b/opam @@ -0,0 +1,11 @@ +opam-version: "1.2" +name: "cdrom" +maintainer: "Euan Harris " +author: "Dave Scott " +build: [ + ["./configure" "--prefix=%{prefix}%"] + [make] +] +install: [make "install"] +remove: ["ocamlfind" "remove" "cdrom"] +depends: ["ocamlfind" "oasis"] diff --git a/setup.ml b/setup.ml new file mode 100644 index 0000000..0345fe1 --- /dev/null +++ b/setup.ml @@ -0,0 +1,37 @@ +(* setup.ml generated for the first time by OASIS v0.4.5 *) + +(* OASIS_START *) +(* DO NOT EDIT (digest: 9852805d5c19ca1cb6abefde2dcea323) *) +(******************************************************************************) +(* OASIS: architecture for building OCaml libraries and applications *) +(* *) +(* Copyright (C) 2011-2013, Sylvain Le Gall *) +(* Copyright (C) 2008-2011, OCamlCore SARL *) +(* *) +(* This library is free software; you can redistribute it and/or modify it *) +(* under the terms of the GNU Lesser General Public License as published by *) +(* the Free Software Foundation; either version 2.1 of the License, or (at *) +(* your option) any later version, with the OCaml static compilation *) +(* exception. *) +(* *) +(* 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 file COPYING for more *) +(* details. *) +(* *) +(* You should have received a copy of the GNU Lesser General Public License *) +(* along with this library; if not, write to the Free Software Foundation, *) +(* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA *) +(******************************************************************************) + +let () = + try + Topdirs.dir_directory (Sys.getenv "OCAML_TOPLEVEL_PATH") + with Not_found -> () +;; +#use "topfind";; +#require "oasis.dynrun";; +open OASISDynRun;; + +(* OASIS_STOP *) +let () = setup ();;