Commit f2078ac3 authored by Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz
Browse files

Create a new src/priv/ directory for private algorithms.

* README: Document it.
* configure.ac: Generate src/priv/Makefile.
* src/Makefile.am: Recurse into priv/.
* src/priv/Makefile.am: New file.
* src/misc/acccompl.cc, src/misc/acccompl.hh,
src/misc/accconv.cc, src/misc/accconv.hh: Move to...
* src/priv/acccompl.cc, src/priv/acccompl.hh,
src/priv/accconv.cc, src/priv/accconv.hh: ... here.
* src/misc/Makefile.am: Adjust.
* src/tgbaalgos/scc.cc, src/tgbaalgos/simulation.cc: Adjust
includes.
* src/sanity/style.test: Make sure no public header
file include a private one.
parent 2ef8917b
...@@ -155,6 +155,10 @@ Core directories ...@@ -155,6 +155,10 @@ Core directories
---------------- ----------------
src/ Sources for libspot. src/ Sources for libspot.
bin/ User tools built using the Spot library.
man/ Man pages for the above tools.
eltlparse/ Parser for ELTL formulae.
eltltest/ Tests for ELTL nodes in ltlast/ and eltlparse/.
kripke/ Kripke Structure interface. kripke/ Kripke Structure interface.
kripkeparse/ Parser for explicit Kripke. kripkeparse/ Parser for explicit Kripke.
kripketest/ Tests for kripke explicit. kripketest/ Tests for kripke explicit.
...@@ -164,6 +168,8 @@ src/ Sources for libspot. ...@@ -164,6 +168,8 @@ src/ Sources for libspot.
ltlvisit/ Visitors of LTL formulae. ltlvisit/ Visitors of LTL formulae.
ltltest/ Tests for ltlast/, ltlenv/, ltlparse/, and ltlvisit/. ltltest/ Tests for ltlast/, ltlenv/, ltlparse/, and ltlvisit/.
misc/ Miscellaneous support files. misc/ Miscellaneous support files.
neverparse/ Parser for SPIN never claims.
priv/ Private algorithms, used internally but not exported.
tgba/ TGBA objects and cousins. tgba/ TGBA objects and cousins.
tgbaalgos/ Algorithms on TGBA. tgbaalgos/ Algorithms on TGBA.
gtec/ Couvreur's Emptiness-Check. gtec/ Couvreur's Emptiness-Check.
...@@ -171,14 +177,9 @@ src/ Sources for libspot. ...@@ -171,14 +177,9 @@ src/ Sources for libspot.
ta/ TA objects and cousins (TGTA). ta/ TA objects and cousins (TGTA).
taalgos/ Algorithms on TA/TGTA. taalgos/ Algorithms on TA/TGTA.
tgbatest/ Tests for tgba/, tgbaalgos/, tgbaparse/, ta/ and taalgos/. tgbatest/ Tests for tgba/, tgbaalgos/, tgbaparse/, ta/ and taalgos/.
eltlparse/ Parser for ELTL formulae.
eltltest/ Tests for ELTL nodes in ltlast/ and eltlparse/.
saba/ SABA (State-labeled Alternating Büchi Automata) objects. saba/ SABA (State-labeled Alternating Büchi Automata) objects.
sabaalgos/ Algorithms on SABA. sabaalgos/ Algorithms on SABA.
sabatest/ Tests for saba/, sabaalgos/. sabatest/ Tests for saba/, sabaalgos/.
neverparse/ Parser for SPIN never claims.
bin/ User tools built using the Spot library.
man/ Man pages for the above tools.
sanity/ Sanity tests for the whole project. sanity/ Sanity tests for the whole project.
doc/ Documentation for libspot. doc/ Documentation for libspot.
org/ Source of userdoc/ as org-mode files. org/ Source of userdoc/ as org-mode files.
......
...@@ -161,6 +161,7 @@ AC_CONFIG_FILES([ ...@@ -161,6 +161,7 @@ AC_CONFIG_FILES([
src/Makefile src/Makefile
src/misc/Makefile src/misc/Makefile
src/neverparse/Makefile src/neverparse/Makefile
src/priv/Makefile
src/sanity/Makefile src/sanity/Makefile
src/saba/Makefile src/saba/Makefile
src/sabaalgos/Makefile src/sabaalgos/Makefile
......
...@@ -25,7 +25,7 @@ AUTOMAKE_OPTIONS = subdir-objects ...@@ -25,7 +25,7 @@ AUTOMAKE_OPTIONS = subdir-objects
# List directories in the order they must be built. Keep tests at the # List directories in the order they must be built. Keep tests at the
# end, after building '.' (since the current directory contains # end, after building '.' (since the current directory contains
# libspot.la needed by the tests) # libspot.la needed by the tests)
SUBDIRS = misc ltlenv ltlast ltlvisit ltlparse eltlparse tgba \ SUBDIRS = misc priv ltlenv ltlast ltlvisit ltlparse eltlparse tgba \
tgbaalgos tgbaparse ta taalgos kripke saba sabaalgos \ tgbaalgos tgbaparse ta taalgos kripke saba sabaalgos \
neverparse kripkeparse . bin ltltest eltltest tgbatest \ neverparse kripkeparse . bin ltltest eltltest tgbatest \
sabatest sanity kripketest sabatest sanity kripketest
...@@ -34,22 +34,23 @@ lib_LTLIBRARIES = libspot.la ...@@ -34,22 +34,23 @@ lib_LTLIBRARIES = libspot.la
libspot_la_SOURCES = libspot_la_SOURCES =
libspot_la_LDFLAGS = $(BUDDY_LDFLAGS) -no-undefined libspot_la_LDFLAGS = $(BUDDY_LDFLAGS) -no-undefined
libspot_la_LIBADD = \ libspot_la_LIBADD = \
misc/libmisc.la \ eltlparse/libeltlparse.la \
kripke/libkripke.la \
kripkeparse/libkripkeparse.la \
ltlast/libltlast.la \
ltlenv/libltlenv.la \ ltlenv/libltlenv.la \
ltlparse/libltlparse.la \ ltlparse/libltlparse.la \
ltlvisit/libltlvisit.la \ ltlvisit/libltlvisit.la \
ltlast/libltlast.la \ misc/libmisc.la \
eltlparse/libeltlparse.la \
tgba/libtgba.la \
tgbaalgos/libtgbaalgos.la \
ta/libta.la \
taalgos/libtaalgos.la \
tgbaparse/libtgbaparse.la \
neverparse/libneverparse.la \ neverparse/libneverparse.la \
saba/libsaba.la \ priv/libpriv.la \
sabaalgos/libsabaalgos.la \ sabaalgos/libsabaalgos.la \
kripke/libkripke.la \ saba/libsaba.la \
kripkeparse/libkripkeparse.la taalgos/libtaalgos.la \
ta/libta.la \
tgbaalgos/libtgbaalgos.la \
tgba/libtgba.la \
tgbaparse/libtgbaparse.la
# Dummy C++ source to cause C++ linking. # Dummy C++ source to cause C++ linking.
nodist_EXTRA_libspot_la_SOURCES = _.cc nodist_EXTRA_libspot_la_SOURCES = _.cc
......
...@@ -29,8 +29,6 @@ nodist_misc_HEADERS = _config.h ...@@ -29,8 +29,6 @@ nodist_misc_HEADERS = _config.h
DISTCLEANFILES = _config.h DISTCLEANFILES = _config.h
misc_HEADERS = \ misc_HEADERS = \
acccompl.hh \
accconv.hh \
bareword.hh \ bareword.hh \
bddalloc.hh \ bddalloc.hh \
bddlt.hh \ bddlt.hh \
...@@ -58,8 +56,6 @@ misc_HEADERS = \ ...@@ -58,8 +56,6 @@ misc_HEADERS = \
noinst_LTLIBRARIES = libmisc.la noinst_LTLIBRARIES = libmisc.la
libmisc_la_SOURCES = \ libmisc_la_SOURCES = \
acccompl.cc \
accconv.cc \
bareword.cc \ bareword.cc \
bddalloc.cc \ bddalloc.cc \
bddop.cc \ bddop.cc \
......
## -*- coding: utf-8 -*-
## Copyright (C) 2013 Laboratoire de Recherche et
## Développement de l'Epita (LRDE).
##
## This file is part of Spot, a model checking library.
##
## Spot is free software; you can redistribute it and/or modify it
## under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 3 of the License, or
## (at your option) any later version.
##
## Spot 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 General Public
## License for more details.
##
## You should have received a copy of the GNU General Public License
## along with this program. If not, see <http://www.gnu.org/licenses/>.
AM_CPPFLAGS = -I$(srcdir)/.. -I.. $(BUDDY_CPPFLAGS)
AM_CXXFLAGS = $(WARNING_CXXFLAGS) $(VISIBILITY_CXXFLAGS)
noinst_HEADERS = \
acccompl.hh \
accconv.hh
noinst_LTLIBRARIES = libpriv.la
libpriv_la_SOURCES = \
acccompl.cc \
accconv.cc
...@@ -242,6 +242,12 @@ for dir in "${INCDIR-..}" "${INCDIR-..}"/../iface; do ...@@ -242,6 +242,12 @@ for dir in "${INCDIR-..}" "${INCDIR-..}"/../iface; do
grep '#.*include.*<iostream>' $tmp && grep '#.*include.*<iostream>' $tmp &&
diag 'Avoid <iostream> in headers, better use <iosfwd>.' diag 'Avoid <iostream> in headers, better use <iosfwd>.'
fi fi
# Headers from src/priv/ are not installed, so may only be
# included from *.cc files or from other src/priv/ headers
# (in the latter case they do not have to specify the priv/
# directory, so they will not match this regex).
grep '#.*include.*priv/' $tmp &&
diag 'Do not include private headers in public headers.'
;; ;;
*.cc) *.cc)
if grep 'namespace$' $tmp >/dev/null; then if grep 'namespace$' $tmp >/dev/null; then
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
#include "scc.hh" #include "scc.hh"
#include "tgba/bddprint.hh" #include "tgba/bddprint.hh"
#include "misc/escape.hh" #include "misc/escape.hh"
#include "misc/accconv.hh" #include "priv/accconv.hh"
namespace spot namespace spot
{ {
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
#include <limits> #include <limits>
#include "tgba/tgbaexplicit.hh" #include "tgba/tgbaexplicit.hh"
#include "simulation.hh" #include "simulation.hh"
#include "misc/acccompl.hh" #include "priv/acccompl.hh"
#include "misc/minato.hh" #include "misc/minato.hh"
#include "misc/unique_ptr.hh" #include "misc/unique_ptr.hh"
#include "tgba/bddprint.hh" #include "tgba/bddprint.hh"
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment