Hi Jari,
I read _LOUDLY_ your 'fear' that changing anything
to do with the 'svn' may cause some unwanted
change... but feel this is totally unfounded...
It seems my explanation that changing -
AC_CHECK_HEADERS([svn_client.h glut.h])
- to -
AC_CHECK_HEADERS([svn_client.h])
would change NOTHING about the test for
'svn_client.h' yes/no FAILED to get through...
You need to carefully check the references of
AC_CHECK_HEADERS([header-file-list]
[, action-if-found
[, action-if-not-found]])
to SEE that the 'header-file-list' are EACH treated
completely separately. They would 'share' the
'action-if-found', and 'action-if-not-found' if
any were given, but in this case the default
actions are used, so are separate...
It is _NOT_ a case of if one fails, they all fail.
As stated, if you had looked in the config.log, you
would see that each test is done independently of
the results of any previous test in the 'list'...
That is the test, as is, would generate BOTH -
1. $ac_cv_header_svn_client_h = yes|no
2. $ac_cv_header_glut_h = yes|no
But I have had more time to write, and test a
BETTER patch attached that :-
(a) does NOT change the svn_client.h lines ;=((,
(b) avoids having to change tests/gl-info.cxx,
(c) now includes the different check for the MAC.
It seems that autoconf is smart enough to ignore
the 'glut.h' listed in -
AC_CHECK_HEADERS([svn_client.h glut.h])
once a specific later AC_CHECK_HEADERS([GL/glut.h],...
is given, that contains an 'action-if-found' ;=() so I
leave that line UNCHANGED, and only add this new
check...
And if you have removed all glut.h tests in your
local configure.ac, then that is fine. It certainly
means your tests/gl-info will also fail unless
your <GLUT/glut.h> defines HAVE_GLUT_H... as
would tests/test-env-map.cxx...
And I hope your other 'svn' changes also make it
into CVS...
You had a hand in changing this 1998 Steve Baker
file from .c to .cxx just recently, probably to
get it to compile in the MAC. And at that time this
'HAVE_GLUT_H' was added - by Erik?
Likewise to tests/test-env-map.cxx...
I note the ONLY other file in the source
that calls glutInit() is
utils/Modeller/3dconvert.cxx
and it has been commented out of the Makefile.am!
So indeed another option is to REMOVE gl-info.cxx
AND test-env-map.cxx from the compile (the
Makefile.am), like 3dconvert.cxx...
A grep for glutInit seems to indicate these are
the ONLY 3 files in the FG source that still use
glutInit...
I would prefer my nice patch, but since fgfs no
longer uses glut, maybe the REMOVE option is
best ;=))
Of course there is SG -
simgear/source/simgear/screen/TestRenderTexture.cpp
which I had a hand in modifying relatively recently
to compile and run in WIN32, and it has no
protective #ifdef HAVE_GLUT_H, or HAVE_GL_GLUT_H...
and thus the SG configure.ac does NOT contain a
GL/glut.h, nor GLUT/glut.h, test...
To be clear this is NOTHING about 'svn', and will
NOT effect anything related to how 'svn' is
compiled into fgfs for terrasync use...
It is about, as the subject states, providing
'good' configuration information only...
HTH, and NOT cause further confusion ;=))
Regards,
Geoff.
attached: fg200-diff02.patch
On Thu, 2010-02-04 at 20:17 +0100, Jari Häkkinen wrote:
> On 2/4/10 6:16 PM, Geoff McLane wrote:
> > Hi Jari,
> >
> > HOW?
>
> I have nothing against your patch, actually I have thrown away the check
> for glut.h completely in my local configure.ac. The check for glut.h is
> not needed. On my machine (Mac OS X 10.6) the
>
> AC_CHECK_HEADERS([svn_client.h glut.h])
>
> always fail and in consequence the failure will trigger command line use
> in terrasync as stated in configure.ac after the AC_CHECK_HEADERS
>
> if test "x$ac_cv_header_svn_client_h" != "xyes"; then
> echo "TerraSync will shell out for command line subversion"
> svn_LIBS=""
> svn_CPPFLAGS=""
> else
> ...
>
> While I am writing this I realize that one of course need development
> libs for svn to pass the AC_CHECK_HEADERS so I suppose my statement was
> not perfectly accurate. I have the devlibs for svn installed and I
> actually go further in my local change of configure.ac and look for
> several svn libs:
>
> ...
> else
> echo "TerraSync will use integrated subversion library"
> AC_SEARCH_LIBS(svn_client_checkout, svn_client-1)
> + AC_SEARCH_LIBS(svn_delta_version, svn_delta-1)
> + AC_SEARCH_LIBS(svn_diff_version, svn_diff-1)
> + AC_SEARCH_LIBS(svn_ra_initialize, svn_ra-1)
> + AC_SEARCH_LIBS(svn_pool_create_ex, svn_subr-1)
> + AC_SEARCH_LIBS(svn_wc_version, svn_wc-1)
> svn_LIBS=$LIBS
> svn_CPPFLAGS=$CPPFLAGS
> AC_SUBST(svn_LIBS)
>
> and build a terrasync with builtin subversion calls. This is not really
> a good thing since terrasync with builtin subversion calls behaves badly
> when terrasync is interrupted during subversion calls. An issue
> acknowledge by Alex Perry in
> http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg25662.html
>
> Again, the patch is valid I just wanted to highlight the fact that it
> may lead to unwanted changes in the build process.
>
>
> Cheers,
>
> Jari
>
>
> >
> > My patch separated the check for 'svn_client.h'
> > from the check for 'glut.h'... I have no idea why
> > these two checks were put together in the first
> > place... they are nothing to do with each other...
> >
> > And if you checked the config.log you would see
> > that these were always done as two separate, unrelated,
> > checks...
> >
> > So really can NOT understand why you would suggest the
> > patch would 'trigger a build of a terrasync binary'
> > different to anything currently built...
> >
> > It does nothing more that putting
> > #define HAVE_GL_GLUT_H 1
> > in Include/config.h
> >
> > Please read the patch again...
> >
> > Regards,
> >
> > Geoff.
> >
> > On Thu, 2010-02-04 at 17:08 +0100, Jari Häkkinen wrote:
> >> The suggested patch to configure.ac may have unwanted side effects in
> >> that if may trigger a build of a terrasync binary with builtin
> >> subversion calls rather than use of external svn calls. The problem with
> >> terrasync using builtin subversion calls is that the current
> >> implementation does don't behave well when terrasync is interrupted (svn
> >> working copies ends up in locked state). This has been recently
> >> discussed on the mailing list.
> >>
> >>
> >> Jari
> >>
> >>
> >> On 2/4/10 2:44 PM, Geoff McLane wrote:
> >>> On Wed, 2010-02-03 at 08:47 -0700, John Denker wrote:
> >>>> There is a little script to collect that information:
> >>>> http://www.av8n.com/fly/fgfs/barf
> >>>>
> >>> Thanks John for your 'barf' script. I modified
> >>> it to suit my Ubuntu environment. My script
> >>> is at :-
> >>> http://geoffair.net/tmp/fgfs-info
> >>>
> >>> In it I noted you run tests/gl-info, and
> >>> to my surprise this produced the output :-
> >>>
> >>> GL Utility Toolkit (glut) was not found on this system.
> >>>
> >>> which is CRAZY since I _DO_ have 'glut' installed!
> >>> freeglut3 2.4.0-6
> >>> freeglut3-dev 2.4.0-6
> >>> glutg3 3.7-25
> >>> glutg3-dev 3.7-25
> >>> libglut3 3.7-25
> >>> libglut3-dev 3.7-25
> >>>
> >>> Looking in src/Include/config.h showed the reason.
> >>> 'HAVE_GLUT_H' was undefined! So that led me back
> >>> to configure.ac...
> >>>
> >>> Yes, it does a check for [... glut.h], and of course
> >>> does NOT find this... But tests/gl-info.cxx
> >>> does NOT include<glut.h>, but includes
> >>> <GL/glut.h> (if not __APPLE__)...
> >>>
> >>> It also checks for, and finds glutGetModifiers,
> >>> and adds the library - result: -lglut
> >>>
> >>> So adding a test to configure.ac -
> >>> AC_CHECK_HEADERS(GL/glut.h)
> >>> which added -
> >>> #define HAVE_GL_GLUT_H 1
> >>> to src/Include/config.h...
> >>>
> >>> So one would have to ask how did you compile
> >>> gl-info? ... Of course I also then changed
> >>> 'HAVE_GLUT_H' to 'HAVE_GL_GLUT_H' in gl-info.cxx
> >>> source, then all is honky dorey...
> >>>
> >>> I hope someone will take the time to fix
> >>> this in FG CVS... Attached below is my
> >>> diff... Of course this would need to be
> >>> further adjusted for __APPLE__
> >>>
> >>> Or maybe just remove the -
> >>> #ifdef HAVE_GLUT_H
> >>> completely from tests/gl-info.cxx,
> >>> since fgfs defaults to using the osgviewer.
> >>>
> >>> Does fgfs use<GL/glut.h> anywhere else
> >>> but in this tests/gl-info??? 'glut.h' appears
> >>> only mentioned in the old (2005) docs-mini/
> >>> README.mingw...
> >>>
> >>> HTH
> >>>
> >>> Geoff.
> >>>
> >>> PS: My info is at -
> >>> http://geoffair.net/tmp/tempinfo.txt
> >>> There also seems some problems with
> >>> tests/alcinfo, but have yet to look into
> >>> this...
> >>>
> >>> attached: fg200-diff01.patch
> >>>
> >
> >
> >
> > ------------------------------------------------------------------------------
> > The Planet: dedicated and managed hosting, cloud storage, colocation
> > Stay online with enterprise data centers and the best network in the
> > business
> > Choose flexible plans and management services without long-term contracts
> > Personal 24x7 support from experience hosting pros just a phone call away.
> > http://p.sf.net/sfu/theplanet-com
> > _______________________________________________
> > Flightgear-devel mailing list
> > Flightgear-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/flightgear-devel
>
>
> ------------------------------------------------------------------------------
> The Planet: dedicated and managed hosting, cloud storage, colocation
> Stay online with enterprise data centers and the best network in the business
> Choose flexible plans and management services without long-term contracts
> Personal 24x7 support from experience hosting pros just a phone call away.
> http://p.sf.net/sfu/theplanet-com
> _______________________________________________
> Flightgear-devel mailing list
> Flightgear-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/flightgear-devel
Index: configure.ac
===================================================================
RCS file: /var/cvs/FlightGear-0.9/source/configure.ac,v
retrieving revision 1.165
diff -u -r1.165 configure.ac
--- configure.ac 23 Jan 2010 22:26:30 -0000 1.165
+++ configure.ac 5 Feb 2010 12:33:22 -0000
@@ -815,6 +815,16 @@
dnl Checks for header files.
AC_HEADER_STDC
+case "${host}" in
+*-apple-darwin*)
+AC_CHECK_HEADER([GLUT/glut.h],
+ [AC_DEFINE([HAVE_GLUT_H], 1,
+ [Defined to 1 if <GLUT/glut.h> found.])]) ;;
+*)
+AC_CHECK_HEADER([GL/glut.h],
+ [AC_DEFINE([HAVE_GLUT_H], 1,
+ [Defined to 1 if <GL/glut.h> found.])]) ;;
+esac
AC_CHECK_HEADERS( \
fcntl.h getopt.h malloc.h memory.h stdlib.h sys/param.h sys/stat.h \
sys/time.h sys/timeb.h unistd.h windows.h values.h )
------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel