1m4_define(`dnl', `m4_dnl')`'dnl 2m4_divert(-1) 3 4dnl This m4 file generates the file parma_polyhedra_library_classes.cc 5dnl using the code in ppl_interface_generator_java_classes_cc_code.m4. 6 7dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it> 8dnl Copyright (C) 2010-2016 BUGSENG srl (http://bugseng.com) 9dnl 10dnl This file is part of the Parma Polyhedra Library (PPL). 11dnl 12dnl The PPL is free software; you can redistribute it and/or modify it 13dnl under the terms of the GNU General Public License as published by the 14dnl Free Software Foundation; either version 3 of the License, or (at your 15dnl option) any later version. 16dnl 17dnl The PPL is distributed in the hope that it will be useful, but WITHOUT 18dnl ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 19dnl FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 20dnl for more details. 21dnl 22dnl You should have received a copy of the GNU General Public License 23dnl along with this program; if not, write to the Free Software Foundation, 24dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA. 25dnl 26dnl For the most up-to-date information see the Parma Polyhedra Library 27dnl site: http://bugseng.com/products/ppl/ . 28 29dnl Include files defining macros that generate the non-fixed part. 30m4_include(`ppl_interface_generator_java_classes_cc_code.m4') 31m4_include(`ppl_interface_generator_java_procedure_generators.m4') 32 33dnl The macro m4_java_prefix_one_annotation is defined in 34dnl ppl_interfaces_generatos_common.m4 and will expand to the 35dnl extra pattern annotations for "1" and "1!"; 36dnl that will insert a "1" after the "_" in the replacements. 37m4_java_prefix_one_annotation 38 39dnl ----------------------------------------------------------------- 40dnl Macros needed for the class-dependent code. 41dnl ----------------------------------------------------------------- 42dnl Ensure any schematic procedure macro that is not defined 43dnl in the code file outputs a warning message. 44m4_define(`m4_default_code', `m4_dumpdef($1`'_code)') 45m4_divert 46___END_OF_FILE___ 47___BEGIN_OF_FILE___ ppl_java_Termination.cc << ___END_OF_FILE___ 48/* Java Termination interface code. 49m4_include(`ppl_interface_generator_copyright')`'dnl 50*/ 51 52`#'include "ppl_java_common_defs.hh" 53`#'include "parma_polyhedra_library_Termination.h" 54`#'include "parma_polyhedra_library_C_Polyhedron.h" 55`#'include "parma_polyhedra_library_NNC_Polyhedron.h" 56using namespace Parma_Polyhedra_Library; 57using namespace Parma_Polyhedra_Library::Interfaces::Java; 58 59dnl m4_pre_extra_class_code(Class, CPP_Class, Class_Kind) 60dnl Prefix extra code for each class. 61m4_define(`m4_pre_extra_class_code', `dnl 62m4_define(`m4_current_interface', `m4_interface_class$1')`'dnl 63___END_OF_FILE___ 64___BEGIN_OF_FILE___ ppl_java_`'m4_current_interface`'.cc << ___END_OF_FILE___ 65/* Java m4_current_interface interface code. 66m4_include(`ppl_interface_generator_copyright')`'dnl 67*/ 68 69`#'include "ppl_java_common_defs.hh" 70`#'include "parma_polyhedra_library_`'m4_current_interface`'.h" 71m4_ifelse(m4_current_interface, Polyhedron, 72`#'include "parma_polyhedra_library_C_Polyhedron.h" 73`#'include "parma_polyhedra_library_NNC_Polyhedron.h" 74)`'dnl 75using namespace Parma_Polyhedra_Library; 76using namespace Parma_Polyhedra_Library::Interfaces::Java; 77 78') 79 80dnl ----------------------------------------------------------------- 81dnl Main call to macro m4_all_code to generate code 82dnl ----------------------------------------------------------------- 83m4_divert`'dnl 84dnl Generate the non-fixed part of the file. 85m4_all_code`'dnl 86___END_OF_FILE___ 87dnl 88dnl End of file generation. 89