All of lore.kernel.org
 help / color / mirror / Atom feed
* RFC: autotooler: generation of "configure.ac" and "Makefile.am" using Kconfig
@ 2017-09-30 14:49 Ulf Samuelsson
  2017-10-02 16:03 ` Leonardo Sandoval
  2017-10-02 18:01 ` Aaron Schwartz
  0 siblings, 2 replies; 3+ messages in thread
From: Ulf Samuelsson @ 2017-09-30 14:49 UTC (permalink / raw)
  To: Yocto Project

Have a need to convert a large number of libraries to use autotools.

I came up with the following idea:

I create an Kconfig based configuration system, where you define a 
number of configuration items needed by configure.ac and Makefile.am

You choose if you want to build an application, a shared library or a 
static library.

The build normally depends on other libraries, and you checkmarks
which library you are interested in from a (small) number of supported 
libraries.
You can likewise select to support options like "--enable-openssl",
again from a (small) number of supported options.

If you have stuff not supported, the autotooler will include Config.in
files allowing you to add your own items.

Once the configuration is complete, you will compile an application
which will generate "configure.ac" from the configuration file.

Again, if you have stuff not supported in the code, you can add it
in a user include file.

The generator will read a user-headers.inc file and
generate an AC_CHECK_HEADERS entry.


The autotooler is available on
	https://www.github.com/emagii/autotooler.git

===================================================================
Currently, it does not generate any Makefile.am files, but
the idea is to separate the source files into
* C source
* Public Headers
* Local Headers

A tool would then scan the directories and classify them accordingly,
so Makefile.am files should be possible to generate fairly easy.

===================================================================
A final step would clone a empty git tree, and populate it
with all the files needed for a complete package.
===================================================================

Comments appreciated.

Best Regards
Ulf Samuelsson
===================================================================
Here is a typical "autoconh.h" generated by Kconfig.

/*
  * Automatically generated C config: don't edit
  * Sat Sep 30 16:27:24 2017
  */
#define CONFIG_SHARED_LIB 1
#define CONFIG_PTHREAD 1
#define CONFIG_LIBRARY 1
#define CONFIG_PROJECT "myproject"
#define CONFIG_WORKDIR "${HOME}/projects/autotooler"
#define CONFIG_OPENSSL 1
#define CONFIG_CURL 1
#define CONFIG_COPYRIGHT_DATE "2017"
#define CONFIG_HOMEPAGE "http://www.emagii.com/"
#define CONFIG_EXAMPLES 1
#define CONFIG_DEBUG 1
#define HAVE_DOT_CONFIG 1
#define CONFIG_AC_PRERQ "2.59"
#define CONFIG_BOOST 1
#define CONFIG_OS_LINUX 1
#define CONFIG_LIBRARY_NAME "libyocto"
#define CONFIG_AUTHOR_EMAIL "ulf@emagii.com"
#define CONFIG_LIBRARY_VERSION "1.0"
#define CONFIG_AC_CONFIG_HEADER "src/include/config.h"
#define CONFIG_OS "Linux"
#define CONFIG_EXAMPLES_VAR "examples"
#define CONFIG_AC_CONFIG_MACRO_DIR "m4"
#define CONFIG_DEBUG_VAR "debug"
#define CONFIG_PROJECT_TYPE "library"
#define CONFIG_SRCDIR "src"
#define CONFIG_SRC_URI_REPO ""
#define CONFIG_AUTHOR "Ulf Samuelsson"
#define CONFIG_SRC_URI_HOST "https://www.github.com/emagii"
#define CONFIG_CURLPP 1
#define CONFIG_AM_INIT_AUTOMAKE "1.10 -Wall no-define"

The application will from this information generate:

AC_INIT([libyocto],
	[1.0],
	[Ulf Samuelsson],
	[libyocto-1.0],
	[http://www.emagii.com/])

AC_PRERQ([2.59])

AC_CONFIG_HEADER([src/include/config.h])

AC_CONFIG_SRCDIR([src])

AC_PROG_CPP
AC_PROG_CC
AC_INIT_AUTOMAKE([1.10 -Wall no-define])

AC_PROG_MAKE_SET
AM_MAINTAINER_MODE
AC_HEADER_STDC
AC_ENABLE_SHARED
AC_DISABLE_STATIC
AC_PROG_LIBTOOL
AC_HEADER_STDC

AC_CHECK_HEADERS( \
	ctype.h \
	errno.h \
	fcntl.h \
	openssl/bio.h \
	openssl/err.h \
	openssl/opensslconf.h \
	openssl/rand.h \
	openssl/ssl.h \
	pthread.h \
	stdio.h \
	stdlib.h \
	stdarg.h \
	stdint.h \
	string.h \
	signal.h \
	sys/ioctl.h \
	sys/socket.h \
	sys/time.h \
	sys/types.h \
	time.h \
	unistd.h \
	 \
	,
dnl to do if not found
	[],
dnl to do if not found
	[],
dnl default includes
	[
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
#endif
dnl We do this default-include simply to make sure that the nameser_compat.h
dnl header *REALLY* can be include after the new nameser.h. It seems AIX 5.1
dnl (and others?) is not designed to allow this.
#ifdef HAVE_ARPA_NAMESER_H
#include <arpa/nameser.h>
#endif

dnl *Sigh* these are needed in order for net/if.h to get properly detected.
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
#endif
]
)

# ==== Boost Libraries
AC_ARG_WITH([boost-include-path],
	[AS_HELP_STRING([--with-boost-include-path],[location of the Boost 
headers, defaults to /usr/include/boost])],
	[CXXFLAGS_BOOST="-I$withval"],
	[CXXFLAGS_BOOST="-I/usr/include/boost"])
AC_SUBST([BOOST_CFLAGS])

AC_ARG_WITH([boost-lib-path],
	[AS_HELP_STRING([--with-boost-lib-path],[location of the Boost 
libraries, defaults to /usr/lib])],
	[BOOST_LIBS="-L$withval" -lboost_system -lboost_filesystem 
-lboost_program_options -lboost_thread -lpthread],
	[BOOST_LIBS="-L/usr/lib -lboost_system -lboost_filesystem 
-lboost_program_options -lboost_thread -lpthread"])
AC_SUBST([BOOST_LIBS])

AC_ARG_ENABLE(boost,
	[--enable-boost	Include Boost Libraries],
	[case "${enableval}" in
		yes)	use_boost=true  ;;
		no)	use_boost=false ;;
		*) AC_MSG_ERROR(bad value ${enableval} for --enable-boost) ;;
	 esac
	],
	[use_boost=false])
AM_CONDITIONAL(CONFIG_BOOST, test x$boost = xtrue)

# ==== cURL Libraries
AC_ARG_WITH([curl-include-path],
	[AS_HELP_STRING([--with-curl-include-path],[location of the cURL 
headers, defaults to /usr/include])],
	[CXXFLAGS_CURL="-I$withval"],
	[CXXFLAGS_CURL="-I/usr/include"])
AC_SUBST([CURL_CFLAGS])

AC_ARG_WITH([curl-lib-path],
	[AS_HELP_STRING([--with-curl-lib-path],[location of the cURL libraries, 
defaults to /usr/lib])],
	[CURL_LIBS="-L$withval" -lcurl],
	[CURL_LIBS="-L/usr/lib -lcurl"])
AC_SUBST([CURL_LIBS])

AC_ARG_ENABLE(curl,
	[--enable-curl	Include cURL],
	[case "${enableval}" in
		yes)	use_curl=true  ;;
		no)	use_curl=false ;;
		*) AC_MSG_ERROR(bad value ${enableval} for --enable-curl) ;;
	 esac
	],
	[use_curl=false])
AM_CONDITIONAL(CONFIG_CURL, test x$curl = xtrue)

# ==== cURLPP Libraries
AC_ARG_WITH([curlpp-include-path],
	[AS_HELP_STRING([--with-curlpp-include-path],[location of the cURLPP 
headers, defaults to /usr/include])],
	[CXXFLAGS_CURLPP="-I$withval"],
	[CXXFLAGS_CURLPP="-I/usr/include"])
AC_SUBST([CURLPP_CFLAGS])

AC_ARG_WITH([curlpp-lib-path],
	[AS_HELP_STRING([--with-curlpp-lib-path],[location of the cURLPP 
libraries, defaults to /usr/lib])],
	[CURLPP_LIBS="-L$withval" -lcurlpp -lutilspp],
	[CURLPP_LIBS="-L/usr/lib -lcurlpp -lutilspp"])
AC_SUBST([CURLPP_LIBS])

AC_ARG_ENABLE(curlpp,
	[--enable-curlpp	Include cURLPP],
	[case "${enableval}" in
		yes)	use_curlpp=true  ;;
		no)	use_curlpp=false ;;
		*) AC_MSG_ERROR(bad value ${enableval} for --enable-curlpp) ;;
	 esac
	],
	[use_curlpp=false])
AM_CONDITIONAL(CONFIG_CURLPP, test x$curlpp = xtrue)

# ==== OpenSSL Libraries
AC_ARG_WITH([openssl-include-path],
	[AS_HELP_STRING([--with-openssl-include-path],[location of the OpenSSL 
headers, defaults to /usr/include])],
	[CFLAGS_OPENSSL="-I$withval"],
	[CFLAGS_OPENSSL="-I/usr/include"])
AC_SUBST([OPENSSL_CFLAGS])

AC_ARG_WITH([openssl-lib-path],
	[AS_HELP_STRING([--with-openssl-lib-path],[location of the OpenSSL 
libraries, defaults to /usr/lib])],
	[OPENSSL_LIBS="-L$withval" -lssl],
	[OPENSSL_LIBS="-L/usr/lib -lssl"])
AC_SUBST([OPENSSL_LIBS])

AC_ARG_ENABLE(openssl,
	[--enable-openssl	Include OpenSSL],
	[case "${enableval}" in
		yes)	use_openssl=true  ;;
		no)	use_openssl=false ;;
		*) AC_MSG_ERROR(bad value ${enableval} for --enable-openssl) ;;
	 esac
	],
	[use_openssl=false])
AM_CONDITIONAL(CONFIG_OPENSSL, test x$openssl = xtrue)

# ==== Pthread Libraries
AC_ARG_WITH([pthread-include-path],
	[AS_HELP_STRING([--with-pthread-include-path],[location of the PThread 
headers, defaults to /usr/include])],
	[CFLAGS_PTHREAD="-I$withval"],
	[CFLAGS_PTHREAD="-I/usr/include"])
AC_SUBST([PTHREAD_CFLAGS])

AC_ARG_WITH([pthread-lib-path],
	[AS_HELP_STRING([--with-pthread-lib-path],[location of the PThread 
libraries, defaults to /usr/include])],
	[PTHREAD_LIBS="-L$withval" -lpthread],
	[PTHREAD_LIBS="-L/usr/include -lpthread"])
AC_SUBST([PTHREAD_LIBS])

AC_ARG_ENABLE(pthread,
	[--enable-pthread	Include PThreads],
	[case "${enableval}" in
		yes)	use_pthread=true  ;;
		no)	use_pthread=false ;;
		*) AC_MSG_ERROR(bad value ${enableval} for --enable-pthread) ;;
	 esac
	],
	[use_pthread=false])
AM_CONDITIONAL(CONFIG_PTHREAD, test x$pthread = xtrue)

# ==== Debug
AC_ARG_ENABLE(debug,
	[--enable-debug	Build with DEBUG enabled],
	[case "${enableval}" in
		yes)	debug=true  ;;
		no)	debug=false ;;
		*) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
	 esac
	],
	[debug=false])
AM_CONDITIONAL(CONFIG_DEBUG, test x$debug = xtrue)

AC_ARG_ENABLE(examples,
	[--enable-examples	Build examples],
	[case "${enableval}" in
		yes)	examples=true  ;;
		no)	examples=false ;;
		*) AC_MSG_ERROR(bad value ${enableval} for --enable-examples) ;;
	 esac
	],
	[examples=false])
AM_CONDITIONAL(CONFIG_EXAMPLES, test x$examples = xtrue)

AC_SUBST([CFLAGS])
AC_CONFIG_FILES([Makefile  libyocto.pc])
AC_OUTPUT


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: RFC: autotooler: generation of "configure.ac" and "Makefile.am" using Kconfig
  2017-09-30 14:49 RFC: autotooler: generation of "configure.ac" and "Makefile.am" using Kconfig Ulf Samuelsson
@ 2017-10-02 16:03 ` Leonardo Sandoval
  2017-10-02 18:01 ` Aaron Schwartz
  1 sibling, 0 replies; 3+ messages in thread
From: Leonardo Sandoval @ 2017-10-02 16:03 UTC (permalink / raw)
  To: Ulf Samuelsson; +Cc: Yocto Project

On Sat, 30 Sep 2017 16:49:09 +0200
Ulf Samuelsson <yocto@emagii.com> wrote:

> Have a need to convert a large number of libraries to use autotools.
> 

> I came up with the following idea:

I got poor experience in enabling autotools into a project but
have you ping the autotools community to discuss your approach? perhaps there
are already other approaches that may be reused for your needs.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: RFC: autotooler: generation of "configure.ac" and "Makefile.am" using Kconfig
  2017-09-30 14:49 RFC: autotooler: generation of "configure.ac" and "Makefile.am" using Kconfig Ulf Samuelsson
  2017-10-02 16:03 ` Leonardo Sandoval
@ 2017-10-02 18:01 ` Aaron Schwartz
  1 sibling, 0 replies; 3+ messages in thread
From: Aaron Schwartz @ 2017-10-02 18:01 UTC (permalink / raw)
  To: Ulf Samuelsson; +Cc: Yocto Project

[-- Attachment #1: Type: text/plain, Size: 11917 bytes --]

Are you looking to use menuconfig to configure your packages?  BusyBox does
this [0] pretty well in my experience, you might take a look at how they've
put that together.

0) https://busybox.net/FAQ.html#configure

On Sat, Sep 30, 2017 at 10:49 AM, Ulf Samuelsson <yocto@emagii.com> wrote:

> Have a need to convert a large number of libraries to use autotools.
>
> I came up with the following idea:
>
> I create an Kconfig based configuration system, where you define a number
> of configuration items needed by configure.ac and Makefile.am
>
> You choose if you want to build an application, a shared library or a
> static library.
>
> The build normally depends on other libraries, and you checkmarks
> which library you are interested in from a (small) number of supported
> libraries.
> You can likewise select to support options like "--enable-openssl",
> again from a (small) number of supported options.
>
> If you have stuff not supported, the autotooler will include Config.in
> files allowing you to add your own items.
>
> Once the configuration is complete, you will compile an application
> which will generate "configure.ac" from the configuration file.
>
> Again, if you have stuff not supported in the code, you can add it
> in a user include file.
>
> The generator will read a user-headers.inc file and
> generate an AC_CHECK_HEADERS entry.
>
>
> The autotooler is available on
>         https://www.github.com/emagii/autotooler.git
>
> ===================================================================
> Currently, it does not generate any Makefile.am files, but
> the idea is to separate the source files into
> * C source
> * Public Headers
> * Local Headers
>
> A tool would then scan the directories and classify them accordingly,
> so Makefile.am files should be possible to generate fairly easy.
>
> ===================================================================
> A final step would clone a empty git tree, and populate it
> with all the files needed for a complete package.
> ===================================================================
>
> Comments appreciated.
>
> Best Regards
> Ulf Samuelsson
> ===================================================================
> Here is a typical "autoconh.h" generated by Kconfig.
>
> /*
>  * Automatically generated C config: don't edit
>  * Sat Sep 30 16:27:24 2017
>  */
> #define CONFIG_SHARED_LIB 1
> #define CONFIG_PTHREAD 1
> #define CONFIG_LIBRARY 1
> #define CONFIG_PROJECT "myproject"
> #define CONFIG_WORKDIR "${HOME}/projects/autotooler"
> #define CONFIG_OPENSSL 1
> #define CONFIG_CURL 1
> #define CONFIG_COPYRIGHT_DATE "2017"
> #define CONFIG_HOMEPAGE "http://www.emagii.com/"
> #define CONFIG_EXAMPLES 1
> #define CONFIG_DEBUG 1
> #define HAVE_DOT_CONFIG 1
> #define CONFIG_AC_PRERQ "2.59"
> #define CONFIG_BOOST 1
> #define CONFIG_OS_LINUX 1
> #define CONFIG_LIBRARY_NAME "libyocto"
> #define CONFIG_AUTHOR_EMAIL "ulf@emagii.com"
> #define CONFIG_LIBRARY_VERSION "1.0"
> #define CONFIG_AC_CONFIG_HEADER "src/include/config.h"
> #define CONFIG_OS "Linux"
> #define CONFIG_EXAMPLES_VAR "examples"
> #define CONFIG_AC_CONFIG_MACRO_DIR "m4"
> #define CONFIG_DEBUG_VAR "debug"
> #define CONFIG_PROJECT_TYPE "library"
> #define CONFIG_SRCDIR "src"
> #define CONFIG_SRC_URI_REPO ""
> #define CONFIG_AUTHOR "Ulf Samuelsson"
> #define CONFIG_SRC_URI_HOST "https://www.github.com/emagii"
> #define CONFIG_CURLPP 1
> #define CONFIG_AM_INIT_AUTOMAKE "1.10 -Wall no-define"
>
> The application will from this information generate:
>
> AC_INIT([libyocto],
>         [1.0],
>         [Ulf Samuelsson],
>         [libyocto-1.0],
>         [http://www.emagii.com/])
>
> AC_PRERQ([2.59])
>
> AC_CONFIG_HEADER([src/include/config.h])
>
> AC_CONFIG_SRCDIR([src])
>
> AC_PROG_CPP
> AC_PROG_CC
> AC_INIT_AUTOMAKE([1.10 -Wall no-define])
>
> AC_PROG_MAKE_SET
> AM_MAINTAINER_MODE
> AC_HEADER_STDC
> AC_ENABLE_SHARED
> AC_DISABLE_STATIC
> AC_PROG_LIBTOOL
> AC_HEADER_STDC
>
> AC_CHECK_HEADERS( \
>         ctype.h \
>         errno.h \
>         fcntl.h \
>         openssl/bio.h \
>         openssl/err.h \
>         openssl/opensslconf.h \
>         openssl/rand.h \
>         openssl/ssl.h \
>         pthread.h \
>         stdio.h \
>         stdlib.h \
>         stdarg.h \
>         stdint.h \
>         string.h \
>         signal.h \
>         sys/ioctl.h \
>         sys/socket.h \
>         sys/time.h \
>         sys/types.h \
>         time.h \
>         unistd.h \
>          \
>         ,
> dnl to do if not found
>         [],
> dnl to do if not found
>         [],
> dnl default includes
>         [
> #ifdef HAVE_SYS_TYPES_H
> #include <sys/types.h>
> #endif
> #ifdef HAVE_SYS_TIME_H
> #include <sys/time.h>
> #endif
> dnl We do this default-include simply to make sure that the
> nameser_compat.h
> dnl header *REALLY* can be include after the new nameser.h. It seems AIX
> 5.1
> dnl (and others?) is not designed to allow this.
> #ifdef HAVE_ARPA_NAMESER_H
> #include <arpa/nameser.h>
> #endif
>
> dnl *Sigh* these are needed in order for net/if.h to get properly detected.
> #ifdef HAVE_SYS_SOCKET_H
> #include <sys/socket.h>
> #endif
> #ifdef HAVE_NETINET_IN_H
> #include <netinet/in.h>
> #endif
> ]
> )
>
> # ==== Boost Libraries
> AC_ARG_WITH([boost-include-path],
>         [AS_HELP_STRING([--with-boost-include-path],[location of the
> Boost headers, defaults to /usr/include/boost])],
>         [CXXFLAGS_BOOST="-I$withval"],
>         [CXXFLAGS_BOOST="-I/usr/include/boost"])
> AC_SUBST([BOOST_CFLAGS])
>
> AC_ARG_WITH([boost-lib-path],
>         [AS_HELP_STRING([--with-boost-lib-path],[location of the Boost
> libraries, defaults to /usr/lib])],
>         [BOOST_LIBS="-L$withval" -lboost_system -lboost_filesystem
> -lboost_program_options -lboost_thread -lpthread],
>         [BOOST_LIBS="-L/usr/lib -lboost_system -lboost_filesystem
> -lboost_program_options -lboost_thread -lpthread"])
> AC_SUBST([BOOST_LIBS])
>
> AC_ARG_ENABLE(boost,
>         [--enable-boost Include Boost Libraries],
>         [case "${enableval}" in
>                 yes)    use_boost=true  ;;
>                 no)     use_boost=false ;;
>                 *) AC_MSG_ERROR(bad value ${enableval} for --enable-boost)
> ;;
>          esac
>         ],
>         [use_boost=false])
> AM_CONDITIONAL(CONFIG_BOOST, test x$boost = xtrue)
>
> # ==== cURL Libraries
> AC_ARG_WITH([curl-include-path],
>         [AS_HELP_STRING([--with-curl-include-path],[location of the cURL
> headers, defaults to /usr/include])],
>         [CXXFLAGS_CURL="-I$withval"],
>         [CXXFLAGS_CURL="-I/usr/include"])
> AC_SUBST([CURL_CFLAGS])
>
> AC_ARG_WITH([curl-lib-path],
>         [AS_HELP_STRING([--with-curl-lib-path],[location of the cURL
> libraries, defaults to /usr/lib])],
>         [CURL_LIBS="-L$withval" -lcurl],
>         [CURL_LIBS="-L/usr/lib -lcurl"])
> AC_SUBST([CURL_LIBS])
>
> AC_ARG_ENABLE(curl,
>         [--enable-curl  Include cURL],
>         [case "${enableval}" in
>                 yes)    use_curl=true  ;;
>                 no)     use_curl=false ;;
>                 *) AC_MSG_ERROR(bad value ${enableval} for --enable-curl)
> ;;
>          esac
>         ],
>         [use_curl=false])
> AM_CONDITIONAL(CONFIG_CURL, test x$curl = xtrue)
>
> # ==== cURLPP Libraries
> AC_ARG_WITH([curlpp-include-path],
>         [AS_HELP_STRING([--with-curlpp-include-path],[location of the
> cURLPP headers, defaults to /usr/include])],
>         [CXXFLAGS_CURLPP="-I$withval"],
>         [CXXFLAGS_CURLPP="-I/usr/include"])
> AC_SUBST([CURLPP_CFLAGS])
>
> AC_ARG_WITH([curlpp-lib-path],
>         [AS_HELP_STRING([--with-curlpp-lib-path],[location of the cURLPP
> libraries, defaults to /usr/lib])],
>         [CURLPP_LIBS="-L$withval" -lcurlpp -lutilspp],
>         [CURLPP_LIBS="-L/usr/lib -lcurlpp -lutilspp"])
> AC_SUBST([CURLPP_LIBS])
>
> AC_ARG_ENABLE(curlpp,
>         [--enable-curlpp        Include cURLPP],
>         [case "${enableval}" in
>                 yes)    use_curlpp=true  ;;
>                 no)     use_curlpp=false ;;
>                 *) AC_MSG_ERROR(bad value ${enableval} for
> --enable-curlpp) ;;
>          esac
>         ],
>         [use_curlpp=false])
> AM_CONDITIONAL(CONFIG_CURLPP, test x$curlpp = xtrue)
>
> # ==== OpenSSL Libraries
> AC_ARG_WITH([openssl-include-path],
>         [AS_HELP_STRING([--with-openssl-include-path],[location of the
> OpenSSL headers, defaults to /usr/include])],
>         [CFLAGS_OPENSSL="-I$withval"],
>         [CFLAGS_OPENSSL="-I/usr/include"])
> AC_SUBST([OPENSSL_CFLAGS])
>
> AC_ARG_WITH([openssl-lib-path],
>         [AS_HELP_STRING([--with-openssl-lib-path],[location of the
> OpenSSL libraries, defaults to /usr/lib])],
>         [OPENSSL_LIBS="-L$withval" -lssl],
>         [OPENSSL_LIBS="-L/usr/lib -lssl"])
> AC_SUBST([OPENSSL_LIBS])
>
> AC_ARG_ENABLE(openssl,
>         [--enable-openssl       Include OpenSSL],
>         [case "${enableval}" in
>                 yes)    use_openssl=true  ;;
>                 no)     use_openssl=false ;;
>                 *) AC_MSG_ERROR(bad value ${enableval} for
> --enable-openssl) ;;
>          esac
>         ],
>         [use_openssl=false])
> AM_CONDITIONAL(CONFIG_OPENSSL, test x$openssl = xtrue)
>
> # ==== Pthread Libraries
> AC_ARG_WITH([pthread-include-path],
>         [AS_HELP_STRING([--with-pthread-include-path],[location of the
> PThread headers, defaults to /usr/include])],
>         [CFLAGS_PTHREAD="-I$withval"],
>         [CFLAGS_PTHREAD="-I/usr/include"])
> AC_SUBST([PTHREAD_CFLAGS])
>
> AC_ARG_WITH([pthread-lib-path],
>         [AS_HELP_STRING([--with-pthread-lib-path],[location of the
> PThread libraries, defaults to /usr/include])],
>         [PTHREAD_LIBS="-L$withval" -lpthread],
>         [PTHREAD_LIBS="-L/usr/include -lpthread"])
> AC_SUBST([PTHREAD_LIBS])
>
> AC_ARG_ENABLE(pthread,
>         [--enable-pthread       Include PThreads],
>         [case "${enableval}" in
>                 yes)    use_pthread=true  ;;
>                 no)     use_pthread=false ;;
>                 *) AC_MSG_ERROR(bad value ${enableval} for
> --enable-pthread) ;;
>          esac
>         ],
>         [use_pthread=false])
> AM_CONDITIONAL(CONFIG_PTHREAD, test x$pthread = xtrue)
>
> # ==== Debug
> AC_ARG_ENABLE(debug,
>         [--enable-debug Build with DEBUG enabled],
>         [case "${enableval}" in
>                 yes)    debug=true  ;;
>                 no)     debug=false ;;
>                 *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug)
> ;;
>          esac
>         ],
>         [debug=false])
> AM_CONDITIONAL(CONFIG_DEBUG, test x$debug = xtrue)
>
> AC_ARG_ENABLE(examples,
>         [--enable-examples      Build examples],
>         [case "${enableval}" in
>                 yes)    examples=true  ;;
>                 no)     examples=false ;;
>                 *) AC_MSG_ERROR(bad value ${enableval} for
> --enable-examples) ;;
>          esac
>         ],
>         [examples=false])
> AM_CONDITIONAL(CONFIG_EXAMPLES, test x$examples = xtrue)
>
> AC_SUBST([CFLAGS])
> AC_CONFIG_FILES([Makefile  libyocto.pc])
> AC_OUTPUT
> --
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>



-- 

Aaron Schwartz
Production
Logic Supply
Direct: +1 802 861 2300 Ext. 530
Main: +1 802 861 2300
www.logicsupply.com

Google+ <https://plus.google.com/+Logicsupply/posts> | Twitter
<https://twitter.com/logicsupply> | LinkedIn
<https://www.linkedin.com/company/logic-supply> | YouTube
<https://www.youtube.com/user/logicsupply>

[-- Attachment #2: Type: text/html, Size: 15326 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-10-02 18:01 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-30 14:49 RFC: autotooler: generation of "configure.ac" and "Makefile.am" using Kconfig Ulf Samuelsson
2017-10-02 16:03 ` Leonardo Sandoval
2017-10-02 18:01 ` Aaron Schwartz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.