hello,
...after upgrading to 10.4, I figured it would be nice to update the GEM project so that it would be more easily compiled, and this would mean to have xcode call an "external build system", which we already have in configure and make...unfortunately, right outta the gates configure isn't recognising the platform:
tiggity:~/puredataDev/Gem/src/gnu tigital$ ./configure --with-ftgl creating cache ./config.cache uname: illegal option -- - usage: uname [-amnprsv] uname: illegal option -- - usage: uname [-amnprsv] HEAD: /usr/include /usr/local/include ../../../GemLibs/ LIBS: ../../../GemLibs/ /usr/local/lib /usr/local/src checking host system type... configure: error: can not guess host type; you must specify one tiggity:~/puredataDev/Gem/src/gnu tigital$
...and I know little to nothing about configure scripts...so, I wonder if I shouldn't just make a specific "makefile.osx" and leave that in gem/src/gnu? If this is done, will it be able to detect new files as they are added, or do we have to also go ahead and change the makefile for each file added?
jamie
james tittle wrote:
hello,
...after upgrading to 10.4, I figured it would be nice to update the GEM project so that it would be more easily compiled, and this would mean to have xcode call an "external build system", which we already have in configure and make...unfortunately, right outta the gates configure isn't recognising the platform:
tiggity:~/puredataDev/Gem/src/gnu tigital$ ./configure --with-ftgl creating cache ./config.cache uname: illegal option -- - usage: uname [-amnprsv] uname: illegal option -- - usage: uname [-amnprsv]
oh, i thought "uname --machine" might be more readable (and also more portable) than "uname -m" so i can fix these 2 errors
HEAD: /usr/include /usr/local/include ../../../GemLibs/ LIBS: ../../../GemLibs/ /usr/local/lib /usr/local/src checking host system type... configure: error: can not guess host type; you must specify one
"./configure --host=darwin" might do the trick
tiggity:~/puredataDev/Gem/src/gnu tigital$
...and I know little to nothing about configure scripts...so, I wonder if I shouldn't just make a specific "makefile.osx" and leave that in
i think this is ok for a temporary solution. on the long run the configure-script should be rewritten (upgraded to autoconf>=2.56): which means configure.ac instead of configure.in and a new vocabulary (which is why i haven't done it yet)
gem/src/gnu? If this is done, will it be able to detect new files as they are added, or do we have to also go ahead and change the makefile for each file added?
the magic is in the "makesource"-script which produces the "Make.source"-files in the module-directories which are then fed into the "Makefile"s.
so the automagic adding of new sources is independent of the configure-script (although "configure" calls "makesource")
this reminds me, that configure produces one master makefile (in ./Gnu) and several slave makefiles (in the various modules): how should we make that on osX without having tons of makefile.osx's spread all over the source-tree ? (of course there are tons of Makefile's spread over the source-tree after the configure; but these are generated at compile time instead of "hardcoded" into the source-distribution)
mfg.asdr. IOhannes
jamie
GEM-dev mailing list GEM-dev@iem.at http://lists.puredata.info/listinfo/gem-dev
On May 16, 2005, at 10:07 AM, james tittle wrote:
...and I know little to nothing about configure scripts...so, I wonder if I shouldn't just make a specific "makefile.osx" and leave that in gem/src/gnu? If this is done, will it be able to detect new files as they are added, or do we have to also go ahead and change the makefile for each file added?
...moving on, I found that config.guess and config.sub were outta date (how often are they "released"?), so there are new ones in cvs that now recognize "powerpc-apple-darwin8.0.0", which is 10.4 (and I assume, therefore, that they'll be fine for earlier osx's)...so now I'm doing and getting the following:
tiggity:~/puredataDev/Gem/src/gnu tigital$ ./configure -- includedir=../../../GemLibs:../../../pd-0.38-4/src --with-ftgl loading cache ./config.cache uname: illegal option -- - usage: uname [-amnprsv] uname: illegal option -- - usage: uname [-amnprsv] HEAD: ../../../GemLibs ../../../pd-0.38-4/src LIBS: ../../../GemLibs/ /usr/local/lib /usr/local/src checking host system type... powerpc-apple-darwin8.0.0 Configuring for Gem.pd_darwin8 checking for gnu make... yes checking for c++... c++ checking whether the C++ compiler (c++ ) works... yes checking whether the C++ compiler (c++ ) is a cross-compiler... no checking whether we are using GNU C++... yes checking whether c++ accepts -g... yes checking for gcc... gcc checking whether the C compiler (gcc ) works... yes checking whether the C compiler (gcc ) is a cross-compiler... no checking whether we are using GNU C... yes checking whether gcc accepts -g... yes checking for a BSD compatible install... /usr/bin/install -c checking whether make sets ${MAKE}... yes checking for sh... sh checking how to run the C preprocessor... gcc -E checking for X... libraries /usr/X11R6/lib, headers /usr/X11R6/include checking for dnet_ntoa in -ldnet... no checking for dnet_ntoa in -ldnet_stub... no checking for gethostbyname... yes checking for connect... yes checking for remove... yes checking for shmat... yes checking for IceConnectionNumber in -lICE... yes checking for working const... yes checking for ANSI C header files... yes checking for size_t... yes checking for vprintf... yes checking for strdup... yes checking for strstr... yes checking for MMX... cc1plus: error: invalid option 'mmx' checking MMX not found... Building Auxilliary Libraries =============================
Finished building Auxilliary Libraries ====================================== checking pd>=0.37... yes checking for main in -lX11... yes checking for main in -lXext... yes checking for XF86VidModeGetAllModeLines in -lXxf86vm... yes checking for sin in -lm... no checking for main in -lz... no checking for GL/gl.h... no OpenGL is mandatory tiggity:~/puredataDev/Gem/src/gnu tigital$
...obviously, I'd like to figure out a way to conditionally look for: X11 stuff (would be nice to choose between x11 or aqua as the window interface, at least for pd itself), OpenGL & Quicktime frameworks (and others should they be needed later...), and finally the different mpegs/quicktimes/whatever libs, so that if someone wanted to they could not be forced to use just the built in quicktime framework...
...so I tried the following (derived from the pd configure.in):
if test `uname -s` == Darwin; then ... fi
...but it still does the "checking for GL/gl.h... no": is indentation/formatting important in these configure.in's? Or is this related to the errors at the beginning of the process having to do with "uname"?
help! jamie
james tittle wrote:
OpenGL is mandatory
tiggity:~/puredataDev/Gem/src/gnu tigital$
...obviously, I'd like to figure out a way to conditionally look for: X11 stuff (would be nice to choose between x11 or aqua as the window interface, at least for pd itself), OpenGL & Quicktime frameworks (and others should they be needed later...), and finally the different mpegs/quicktimes/whatever libs, so that if someone wanted to they could not be forced to use just the built in quicktime framework...
...so I tried the following (derived from the pd configure.in):
if test `uname -s` == Darwin; then ... fi
...but it still does the "checking for GL/gl.h... no": is indentation/formatting important in these configure.in's? Or is this related to the errors at the beginning of the process having to do with "uname"?
i assume you are sure you did run autconf after editing the configure.in ? ;-)
i normally spill all my configure.in with "read" to stop execution whenever i want to until it works....
as for the frameworks, it would probably be best to stack them into the CHECK_LIB-functions (like openGL and mesaGL are stacked)
mfg.a.sdr IOhannes
hi IO,
On May 17, 2005, at 9:22 AM, IOhannes m zmoelnig wrote:
i assume you are sure you did run autconf after editing the configure.in ? ;-)
...um, no, didn't know about that! But, now I have and I'm getting:
tiggity:~/puredataDev/Gem/src/gnu tigital$ autoconf aclocal.m4:37: error: m4_defn: undefined macro: _m4_divert_diversion autoconf/libs.m4:134: AC_CHECK_LIB is expanded from... aclocal.m4:37: the top level autom4te-2.59: /sw/bin/gm4 failed with exit status: 1
...so do we need to update aclocal.m4 & acinclude.m4?
i normally spill all my configure.in with "read" to stop execution whenever i want to until it works....
...in case I didn't say, I'm totally unfamiliar with anything beyond copy&paste hack code when it comes to autoconf/configure...so what does "read" do?
as for the frameworks, it would probably be best to stack them into the CHECK_LIB-functions (like openGL and mesaGL are stacked)
...sounds ok, but I think we can assume that all osx installs have opengl, quicktime and carbon :-)
jamie
james tittle wrote:
hi IO,
On May 17, 2005, at 9:22 AM, IOhannes m zmoelnig wrote:
i assume you are sure you did run autconf after editing the configure.in ? ;-)
...um, no, didn't know about that!
well "configure" is generated from "configure.in" (autoconf<=2.13, deprecated) or "configure.ac" (autoconf>=2.53) (i am not entirely sure about the versions) no human being can read "configure" itself (it looks just like generated code)
But, now I have and I'm getting:
tiggity:~/puredataDev/Gem/src/gnu tigital$ autoconf aclocal.m4:37: error: m4_defn: undefined macro: _m4_divert_diversion autoconf/libs.m4:134: AC_CHECK_LIB is expanded from... aclocal.m4:37: the top level autom4te-2.59: /sw/bin/gm4 failed with exit status: 1
...so do we need to update aclocal.m4 & acinclude.m4?
this seems to be the problem when using autoconf>=2.53 with the files that come with Gem...
this is one of the major reasons i want to upgrade it to a recent version of autoconf.
i normally spill all my configure.in with "read" to stop execution whenever i want to until it works....
...in case I didn't say, I'm totally unfamiliar with anything beyond copy&paste hack code when it comes to autoconf/configure...so what does "read" do?
"read" is just a normal shell command that reads the user-input (e.g. "return") before proceeding with the execution.
as for the frameworks, it would probably be best to stack them into the CHECK_LIB-functions (like openGL and mesaGL are stacked)
...sounds ok, but I think we can assume that all osx installs have opengl, quicktime and carbon :-)
yes, but i think we cannot take it for granted that the developer-versions (headers, static-libs) of these are installed (??)
those should be checked,
mfg.a.sdr IOhannes
On May 17, 2005, at 10:26 AM, IOhannes m zmoelnig wrote:
well "configure" is generated from "configure.in" (autoconf<=2.13, deprecated) or "configure.ac" (autoconf>=2.53) (i am not entirely sure about the versions)
no human being can read "configure" itself (it looks just like generated code)
But, now I have and I'm getting:
tiggity:~/puredataDev/Gem/src/gnu tigital$ autoconf aclocal.m4:37: error: m4_defn: undefined macro: _m4_divert_diversion autoconf/libs.m4:134: AC_CHECK_LIB is expanded from... aclocal.m4:37: the top level autom4te-2.59: /sw/bin/gm4 failed with exit status: 1 ...so do we need to update aclocal.m4 & acinclude.m4?
this seems to be the problem when using autoconf>=2.53 with the files that come with Gem...
this is one of the major reasons i want to upgrade it to a recent version of autoconf.
...yep: autoconf --version = 2.59 here...so, is this a big undertaking, or...? I'm really trying to keep moving forward, because I still have some deadlines this week, and gem ain't running for me atm...
as for the frameworks, it would probably be best to stack them into the CHECK_LIB-functions (like openGL and mesaGL are stacked)
...sounds ok, but I think we can assume that all osx installs have opengl, quicktime and carbon :-)
yes, but i think we cannot take it for granted that the developer- versions (headers, static-libs) of these are installed (??)
those should be checked,
...after writing that, I also thought that we should also consider the crazy person who may try to compile pd/gem on the darwin distro, without aqua...
l8r, jamie