diff --git a/Fltk/Callbacks.cpp b/Fltk/Callbacks.cpp index bff3115816ec0a3eb42dbb27ae2131ba520f7174..fb37ef93ead6d5ee2dad8a324570a9d13112b676 100644 --- a/Fltk/Callbacks.cpp +++ b/Fltk/Callbacks.cpp @@ -1,4 +1,4 @@ -// $Id: Callbacks.cpp,v 1.461 2006-09-08 02:39:42 geuzaine Exp $ +// $Id: Callbacks.cpp,v 1.462 2006-10-09 13:26:26 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -3497,9 +3497,14 @@ void mesh_edit_cb(CALLBACK_ARGS) WID->set_context(menu_mesh_edit, 0); } -void mesh_reparam_cb(CALLBACK_ARGS) +void mesh_parameterize_cb(CALLBACK_ARGS) { - printf("LAUCH REPARAMETERIZATION BIGNOU HERE!\n"); + printf("LAUNCH REPARAMETERIZATION WINDOW!\n"); +} + +void mesh_cut_parts_cb(CALLBACK_ARGS) +{ + printf("LAUNCH CUTTING TOOL!\n"); } void mesh_degree_cb(CALLBACK_ARGS) diff --git a/Fltk/Callbacks.h b/Fltk/Callbacks.h index 2ad2d2815cdb370ada9e85a7358634c6338bbf7b..23a71247b91571ee70f05c7e457e271be7f3daee 100644 --- a/Fltk/Callbacks.h +++ b/Fltk/Callbacks.h @@ -275,7 +275,8 @@ void mesh_edit_cb(CALLBACK_ARGS); void mesh_remesh_cb(CALLBACK_ARGS); void mesh_update_edges_cb(CALLBACK_ARGS); void mesh_update_more_edges_cb(CALLBACK_ARGS); -void mesh_reparam_cb(CALLBACK_ARGS); +void mesh_cut_parts_cb(CALLBACK_ARGS); +void mesh_parameterize_cb(CALLBACK_ARGS); void mesh_degree_cb(CALLBACK_ARGS); void mesh_optimize_cb(CALLBACK_ARGS); void mesh_define_length_cb (CALLBACK_ARGS); diff --git a/Fltk/GUI.cpp b/Fltk/GUI.cpp index 042d95cbf1426b5d1998b931c400a67468a79ca5..6919f1d55f027580c2cf3ecd89502de01d763900 100644 --- a/Fltk/GUI.cpp +++ b/Fltk/GUI.cpp @@ -1,4 +1,4 @@ -// $Id: GUI.cpp,v 1.552 2006-09-24 05:59:13 geuzaine Exp $ +// $Id: GUI.cpp,v 1.553 2006-10-09 13:26:27 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -322,7 +322,6 @@ Context_Item menu_geometry[] = { Context_Item menu_mesh[] = { {"1Mesh", NULL} , {"Define", (Fl_Callback *)mesh_define_cb} , - {"Edit", (Fl_Callback *)mesh_edit_cb} , {"1D", (Fl_Callback *)mesh_1d_cb} , {"2D", (Fl_Callback *)mesh_2d_cb} , {"3D", (Fl_Callback *)mesh_3d_cb} , @@ -331,15 +330,17 @@ Context_Item menu_mesh[] = { #if defined(HAVE_NETGEN) {"Optimize quality", (Fl_Callback *)mesh_optimize_cb} , #endif + {"Edit", (Fl_Callback *)mesh_edit_cb} , {"Save", (Fl_Callback *)mesh_save_cb} , {0} }; Context_Item menu_mesh_edit[] = { {"1Mesh>Edit", NULL} , - {"Update edges", (Fl_Callback *)mesh_update_edges_cb} , - {"Reparameterize", (Fl_Callback *)mesh_reparam_cb} , - // {"Manually add edges", (Fl_Callback *)mesh_update_more_edges_cb} , - {"Remesh", (Fl_Callback *)mesh_remesh_cb} , + {"Cut parts", (Fl_Callback *)mesh_cut_parts_cb} , + {"Parameterize", (Fl_Callback *)mesh_parameterize_cb} , + //{"Update edges", (Fl_Callback *)mesh_update_edges_cb} , + //{"Manually add edges", (Fl_Callback *)mesh_update_more_edges_cb} , + //{"Remesh", (Fl_Callback *)mesh_remesh_cb} , {0} }; Context_Item menu_mesh_define[] = { diff --git a/Geo/fourierModel.cpp b/Geo/fourierModel.cpp index 18967f8e149b6b62c7524112c6208aee6aa57efd..4e478d72c77772a67e0ae8c47b1fdde8b19d235b 100644 --- a/Geo/fourierModel.cpp +++ b/Geo/fourierModel.cpp @@ -216,11 +216,6 @@ void getOrderedBoundaryLoops(std::vector<MElement*> &elements, for(std::map<vpair, vpair>::iterator it = edges.begin(); it != edges.end(); it++) connect[it->second.first] = it->second.second; - std::vector<MVertex*> debug; - for(std::map<MVertex*, MVertex*>::iterator it = connect.begin(); it != connect.end(); it++) - debug.push_back(it->first); - debugVertices(debug, "xxxx", false, 0); - loops.resize(1); while(connect.size()){ if(loops[loops.size() - 1].empty()) @@ -277,14 +272,8 @@ void getIntersectingBoundaryParts(GFace *gf, std::vector<MElement*> &elements, getOrderedBoundaryLoops(elements, loops); parts.resize(loops.size()); - if(0){ - debugElements(elements, "elements", false); - for(unsigned int i = 0; i < loops.size(); i++) - debugVertices(loops[i], "boundary", false, i); - } - for(unsigned int i = 0; i < loops.size(); i++){ - // last vertex in loop is equal to the firt vertex + // last vertex in loop is equal to the first vertex bool newpart = true; for(unsigned int j = 0; j < loops[i].size() - 1; j++){ MVertex *v = loops[i][j]; @@ -312,6 +301,16 @@ void getIntersectingBoundaryParts(GFace *gf, std::vector<MElement*> &elements, } } } + +#if 0 + static int nn = 0; + debugElements(elements, "elements", false, nn++); + for(unsigned int i = 0; i < loops.size(); i++) + debugVertices(loops[i], "loops", false, nn++); + for(unsigned int i = 0; i < parts.size(); i++) + for(unsigned int j = 0; j < parts[i].size(); j++) + debugVertices(parts[i][j], "parts", false, nn++); +#endif } void meshGrout(GFace *gf, std::vector<MVertex*> &loop, std::vector<MVertex*> &hole) @@ -412,87 +411,31 @@ bool onHardEdge(GFace *gf, MVertex *vertex) bool removeHardEdges(GFace *gf, std::vector<MVertex*> &loop, std::vector<std::vector<MVertex*> > &subloops) { - std::vector<MVertex*> tmp; - tmp.push_back(loop[0]); + subloops.resize(1); + subloops[0].push_back(loop[0]); for(unsigned int i = 1; i < loop.size() - 1; i++){ if(onHardEdge(gf, loop[i - 1]) && onHardEdge(gf, loop[i]) && onHardEdge(gf, loop[i + 1])){ // skip + create new path + subloops.resize(subloops.size() + 1); } else{ - tmp.push_back(loop[i]); + subloops[subloops.size() - 1].push_back(loop[i]); } } - tmp.push_back(loop[0]); - if(tmp.size() != loop.size()){ - Msg(INFO, "Generating subloops"); - + subloops[subloops.size() - 1].push_back(loop[loop.size() - 1]); + if(subloops.size() > 1){ + for(unsigned int i = 0; i < subloops.size(); i++){ + //if(subloops[i].size()) debugVertices(subloops[i], "x", false, i); + } + Msg(INFO, "HAVE SUBLOOPS!"); return true; } return false; } -/* - std::vector<std::vector<MVertex*> > self, other; - - self.resize(1); - for(unsigned int i = 0; i < input.size(); i++){ - if(input[i]->onWhat() == gf){ - if(i && input[i]->onWhat() != input[i - 1]->onWhat()) - self.resize(self.size() + 1); - self[self.size() - 1].push_back(input[i]); - } - } - - other.resize(1); - for(unsigned int i = 0; i < input.size(); i++){ - if(input[i]->onWhat() != gf){ - if(i && input[i]->onWhat() != input[i - 1]->onWhat()) - other.resize(other.size() + 1); - other[other.size() - 1].push_back(input[i]); - } - } - - if(self.size() == 1 || other.size() == 0){ - // nothing special to do - output.resize(1); - for(unsigned int i = 0; i < input.size(); i++){ - output[0].push_back(input[i]); - } - } - else if(self.size() == other.size()){ - - for(unsigned int i = 0; i < self.size(); i++) - debugVertices(self[i], "self", false, i); - for(unsigned int i = 0; i < other.size(); i++) - debugVertices(other[i], "other", false, i); - - - output.resize(self.size()); - for(unsigned int i = 0; i < self.size(); i++){ - // add self pnts - for(unsigned int j = 0; j < self[i].size(); j++) - output[i].push_back(self[i][j]); - // check which other is closest - int which = 0; - double dist = 1e20; - for(unsigned int j = 0; j < other.size(); j++){ - if(output[i][output[i].size() - 1]->distance(other[j][0]) < dist) - which = j; - } - for(unsigned int j = 0; j < other[which].size(); j++) - output[i].push_back(other[which][j]); - output[i].push_back(output[i][0]); - } - } - else{ - Msg(GERROR, "General subloop creation not implemented yet"); - } -} -*/ - void meshGroutWithoutHole(GFace *gf, std::vector<std::vector<MVertex*> > &inside) { @@ -505,8 +448,8 @@ void meshGroutWithoutHole(GFace *gf, tmp.push_back(tmp[0]); if(removeHardEdges(gf, tmp, loops)){ - for(unsigned int i = 0; i < loops.size(); i++) - meshGrout(gf, loops[i], hole); + //for(unsigned int i = 0; i < loops.size(); i++) + //meshGrout(gf, loops[i], hole); } else{ meshGrout(gf, tmp, hole); @@ -603,6 +546,8 @@ fourierModel::fourierModel(const std::string &name) // This should define a non-overlapping partitioning of the grid, which // could be used as the boundary constrain for the unstructured algo + CTX.terminal = 0; + CTX.mesh.changed = ENT_ALL; } diff --git a/configure b/configure index 9f4a7dfe2f884bde583bd25e393543e1be6ead25..ee4c94c18da93e9fce99329b4ba8dac37632479f 100755 --- a/configure +++ b/configure @@ -272,7 +272,44 @@ PACKAGE_STRING= PACKAGE_BUGREPORT= ac_unique_file="Parser/Gmsh.y" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX CPP RANLIB ac_ct_RANLIB AR FLTKCONFIG UNAME FLAGS OPTIM LINKER GMSH_DIRS GMSH_LIBS POSTBUILD LIBOBJS LTLIBOBJS' +# Factoring default headers for most tests. +ac_includes_default="\ +#include <stdio.h> +#if HAVE_SYS_TYPES_H +# include <sys/types.h> +#endif +#if HAVE_SYS_STAT_H +# include <sys/stat.h> +#endif +#if STDC_HEADERS +# include <stdlib.h> +# include <stddef.h> +#else +# if HAVE_STDLIB_H +# include <stdlib.h> +# endif +#endif +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include <memory.h> +# endif +# include <string.h> +#endif +#if HAVE_STRINGS_H +# include <strings.h> +#endif +#if HAVE_INTTYPES_H +# include <inttypes.h> +#else +# if HAVE_STDINT_H +# include <stdint.h> +# endif +#endif +#if HAVE_UNISTD_H +# include <unistd.h> +#endif" + +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX CPP RANLIB ac_ct_RANLIB AR FLTKCONFIG EGREP UNAME FLAGS OPTIM LINKER GMSH_DIRS GMSH_LIBS POSTBUILD LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -826,6 +863,7 @@ Optional Features: --enable-tetgen compile Tetgen if available (default=yes) --enable-matheval compile MathEval if available (default=yes) --enable-osmesa use OSMesa for offscreen rendering (default=no) + --enable-cgns enable CGNS output (default=no) Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] @@ -840,6 +878,7 @@ Optional Packages: installed --with-osmesa-prefix=PFX prefix where OSMesa is installed + --with-cgns-prefix=PFX prefix where CGNS is installed Some influential environment variables: CC C compiler command @@ -1328,6 +1367,12 @@ if test "${with_osmesa_prefix+set}" = set; then OSMESA_PREFIX=$withval fi; +# Check whether --with-cgns-prefix or --without-cgns-prefix was given. +if test "${with_cgns_prefix+set}" = set; then + withval="$with_cgns_prefix" + CGNS_PREFIX=$withval +fi; + # Check whether --enable-gsl or --disable-gsl was given. if test "${enable_gsl+set}" = set; then enableval="$enable_gsl" @@ -1402,6 +1447,11 @@ fi; if test "${enable_osmesa+set}" = set; then enableval="$enable_osmesa" +fi; +# Check whether --enable-cgns or --disable-cgns was given. +if test "${enable_cgns+set}" = set; then + enableval="$enable_cgns" + fi; UNAME=`uname` @@ -4358,6 +4408,88 @@ echo "$as_me: error: Could not find GSL, aborting." >&2;} fi fi +if test "x${CGNS_PREFIX}" != "x"; then + enable_cgns="yes" +fi +if test "x$enable_cgns" = "xyes"; then + if test "x${CGNS_PREFIX}" != "x"; then + LDFLAGS="-L${CGNS_PREFIX}/lib ${LDFLAGS}" + fi + echo "$as_me:$LINENO: checking for main in -lcgns" >&5 +echo $ECHO_N "checking for main in -lcgns... $ECHO_C" >&6 +if test "${ac_cv_lib_cgns_main+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcgns $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + +int +main () +{ +main (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_cgns_main=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_cgns_main=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_cgns_main" >&5 +echo "${ECHO_T}$ac_cv_lib_cgns_main" >&6 +if test $ac_cv_lib_cgns_main = yes; then + CGNS="yes" +else + CGNS="no" +fi + + if test "x${CGNS}" = "xyes"; then + if test "x${CGNS_PREFIX}" = "x"; then + GMSH_LIBS="${GMSH_LIBS} -lcgns" + FLAGS="${FLAGS} -DHAVE_LIBCGNS" + else + GMSH_LIBS="${GMSH_LIBS} -L${CGNS_PREFIX}/lib -lcgns" + FLAGS="${FLAGS} -DHAVE_LIBCGNS -I${CGNS_PREFIX}/include" + fi + fi +fi + if test "x$enable_parallel" = "xyes"; then FLAGS="-DHAVE_PARALLEL ${FLAGS}" fi @@ -4419,6 +4551,682 @@ case "$UNAME" in esac +echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6 +if test "${ac_cv_prog_egrep+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 +echo "${ECHO_T}$ac_cv_prog_egrep" >&6 + EGREP=$ac_cv_prog_egrep + + +echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <stdlib.h> +#include <stdarg.h> +#include <string.h> +#include <float.h> + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_header_stdc=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <string.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <stdlib.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <ctype.h> +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + exit(2); + exit (0); +} +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +fi +fi +echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6 +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_Header=no" +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +echo "$as_me:$LINENO: checking for size_t" >&5 +echo $ECHO_N "checking for size_t... $ECHO_C" >&6 +if test "${ac_cv_type_size_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +if ((size_t *) 0) + return 0; +if (sizeof (size_t)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_type_size_t=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_type_size_t=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 +echo "${ECHO_T}$ac_cv_type_size_t" >&6 + +echo "$as_me:$LINENO: checking size of size_t" >&5 +echo $ECHO_N "checking size of size_t... $ECHO_C" >&6 +if test "${ac_cv_sizeof_size_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$ac_cv_type_size_t" = yes; then + # The cast to unsigned long works around a bug in the HP C Compiler + # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects + # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. + # This bug is HP SR number 8606223364. + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long) (sizeof (size_t))) >= 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_lo=0 ac_mid=0 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long) (sizeof (size_t))) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_hi=$ac_mid; break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_lo=`expr $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long) (sizeof (size_t))) < 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_hi=-1 ac_mid=-1 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long) (sizeof (size_t))) >= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_lo=$ac_mid; break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_hi=`expr '(' $ac_mid ')' - 1` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_lo= ac_hi= +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long) (sizeof (size_t))) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_hi=$ac_mid +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_lo=`expr '(' $ac_mid ')' + 1` +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in +?*) ac_cv_sizeof_size_t=$ac_lo;; +'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (size_t), 77 +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute sizeof (size_t), 77 +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } ;; +esac +else + if test "$cross_compiling" = yes; then + { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run test program while cross compiling +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +long longval () { return (long) (sizeof (size_t)); } +unsigned long ulongval () { return (long) (sizeof (size_t)); } +#include <stdio.h> +#include <stdlib.h> +int +main () +{ + + FILE *f = fopen ("conftest.val", "w"); + if (! f) + exit (1); + if (((long) (sizeof (size_t))) < 0) + { + long i = longval (); + if (i != ((long) (sizeof (size_t)))) + exit (1); + fprintf (f, "%ld\n", i); + } + else + { + unsigned long i = ulongval (); + if (i != ((long) (sizeof (size_t)))) + exit (1); + fprintf (f, "%lu\n", i); + } + exit (ferror (f) || fclose (f) != 0); + + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_sizeof_size_t=`cat conftest.val` +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +{ { echo "$as_me:$LINENO: error: cannot compute sizeof (size_t), 77 +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute sizeof (size_t), 77 +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +fi +rm -f conftest.val +else + ac_cv_sizeof_size_t=0 +fi +fi +echo "$as_me:$LINENO: result: $ac_cv_sizeof_size_t" >&5 +echo "${ECHO_T}$ac_cv_sizeof_size_t" >&6 +cat >>confdefs.h <<_ACEOF +#define SIZEOF_SIZE_T $ac_cv_sizeof_size_t +_ACEOF + + +if test $ac_cv_sizeof_size_t != 4; then + FLAGS="$FLAGS -DHAVE_64BIT_SIZE_T" + if test $ac_cv_sizeof_size_t != 8; then + { echo "$as_me:$LINENO: WARNING: Unsupported size of size_t - this may affect FNV hashing." >&5 +echo "$as_me: WARNING: Unsupported size of size_t - this may affect FNV hashing." >&2;} + fi +fi + + @@ -5076,6 +5884,7 @@ s,@RANLIB@,$RANLIB,;t t s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t s,@AR@,$AR,;t t s,@FLTKCONFIG@,$FLTKCONFIG,;t t +s,@EGREP@,$EGREP,;t t s,@UNAME@,$UNAME,;t t s,@FLAGS@,$FLAGS,;t t s,@OPTIM@,$OPTIM,;t t diff --git a/contrib/ANN/Makefile b/contrib/ANN/Makefile index 53a8c4baa7369d0fcbcf048de8bb4d60a8839189..ee6c75a4cb62568260e000b78122db6b390410de 100644 --- a/contrib/ANN/Makefile +++ b/contrib/ANN/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.11 2006-09-14 15:48:35 geuzaine Exp $ +# $Id: Makefile,v 1.12 2006-10-09 13:26:28 geuzaine Exp $ # # Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle # @@ -22,7 +22,7 @@ include ../../variables LIB = ../../lib/libGmshANN.a -INCLUDE = -I../../Common -I./include/ +INCLUDE = -I../../Common -I./include CFLAGS = ${OPTIM} ${FLAGS} ${INCLUDE} SRC = src/ANN.cpp\