[Gambas-devel] What about cmake?

Benoît Minisini gambas at ...1...
Sun Oct 13 22:49:35 CEST 2013


Le 13/10/2013 22:43, Sebastian Kulesz a écrit :
> Both bugs have been fixed. Thanks for the feedback. Cmake now checks to
> see if the .svn folder exists, not only if the svn binary exists within
> PATH. PostgreSQL was one of the first modules i moved so contained some
> bugs regarding inclusion paths passed to the compiler.
>
> I will start implementing the installation macros. I can't do much
> without gbx compiling, this is the error i get:
>
> [ 10%] Building C object main/gbx/CMakeFiles/gbx.dir/gbx_replace.c.o
> In file included from
> /home/sebi/Builds/gambas3-cmake/main/share/gb_replace_temp.h:24:0,
>                   from
> /home/sebi/Builds/gambas3-cmake/main/gbx/gbx_replace.c:24:
> /home/sebi/Builds/gambas3-cmake/main/share/gb_replace.h:36:6: error:
> tipos en conflicto para ‘unsetenv’
>   void unsetenv(const char *name);
>        ^
> In file included from
> /home/sebi/Builds/gambas3-cmake/main/share/gb_common.h:43:0,
>                   from
> /home/sebi/Builds/gambas3-cmake/main/share/gb_replace.h:28,
>                   from
> /home/sebi/Builds/gambas3-cmake/main/share/gb_replace_temp.h:24,
>                   from
> /home/sebi/Builds/gambas3-cmake/main/gbx/gbx_replace.c:24:
> /usr/include/stdlib.h:588:12: nota: la declaración previa de ‘unsetenv’
> estaba aquí
>   extern int unsetenv (const char *__name) __THROW __nonnull ((1));
>              ^
> In file included from
> /home/sebi/Builds/gambas3-cmake/main/gbx/gbx_replace.c:24:0:
> /home/sebi/Builds/gambas3-cmake/main/share/gb_replace_temp.h:67:6:
> error: tipos en conflicto para ‘unsetenv’
>   void unsetenv(const char *name)
>        ^
> In file included from
> /home/sebi/Builds/gambas3-cmake/main/share/gb_common.h:43:0,
>                   from
> /home/sebi/Builds/gambas3-cmake/main/share/gb_replace.h:28,
>                   from
> /home/sebi/Builds/gambas3-cmake/main/share/gb_replace_temp.h:24,
>                   from
> /home/sebi/Builds/gambas3-cmake/main/gbx/gbx_replace.c:24:
> /usr/include/stdlib.h:588:12: nota: la declaración previa de ‘unsetenv’
> estaba aquí
>   extern int unsetenv (const char *__name) __THROW __nonnull ((1));
>              ^
> main/gbx/CMakeFiles/gbx.dir/build.make:218: recipe for target
> 'main/gbx/CMakeFiles/gbx.dir/gbx_replace.c.o' failed
> make[2]: *** [main/gbx/CMakeFiles/gbx.dir/gbx_replace.c.o] Error 1
> CMakeFiles/Makefile2:223: recipe for target
> 'main/gbx/CMakeFiles/gbx.dir/all' failed
> make[1]: *** [main/gbx/CMakeFiles/gbx.dir/all] Error 2
> Makefile:136: recipe for target 'all' failed
> make: *** [all] Error 2
>


You are compiling functions that must be compiled only if the system 
libc does not provide them.

You must implement all tests located in acinclude.m4 file.

In that specific case, this is:

AC_CHECK_FUNCS(setenv unsetenv getdomainname getpt cfmakeraw)

Do you know autoconf enough to implement the corresponding tests with 
cmake? If not, I suggest you read carefully the autoconf documentation.

Regards,

-- 
Benoît Minisini




More information about the Devel mailing list