summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorCedric BAIL <cedric@osg.samsung.com>2016-03-23 16:00:47 -0700
committerCedric BAIL <cedric@osg.samsung.com>2016-03-23 16:00:47 -0700
commit91367f2c11111bdbc5c843774d18f4b5310a65d8 (patch)
treec11d2c4e39d452adfdeea7d18d86d118c50b5522 /configure.ac
parentb1f28ef697725ed879a38e02480ad1a39252da9a (diff)
elementary: merge configure logic.
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac277
1 files changed, 277 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index da7e012..5246c53 100644
--- a/configure.ac
+++ b/configure.ac
@@ -154,10 +154,15 @@ AC_ARG_WITH([dbus-services],
154AC_SUBST(dbusservicedir) 154AC_SUBST(dbusservicedir)
155 155
156efl_deprecated_option="no" 156efl_deprecated_option="no"
157EFL_WITH_BIN([eet], [eet-eet], [eet])
157EFL_WITH_BIN([edje], [edje-cc]) 158EFL_WITH_BIN([edje], [edje-cc])
158EFL_WITH_BIN([eolian], [eolian-gen]) 159EFL_WITH_BIN([eolian], [eolian-gen])
159EFL_WITH_BIN([eolian_cxx], [eolian-cxx]) 160EFL_WITH_BIN([eolian_cxx], [eolian-cxx])
161EFL_WITH_BIN([eolian-js], [eolian-js], [eolian_js])
160EFL_WITH_BIN_SUFFIX([elua], [elua], [_bin]) 162EFL_WITH_BIN_SUFFIX([elua], [elua], [_bin])
163EFL_WITH_BIN([eldbus], [eldbus_codegen], [eldbus-codegen])
164EFL_WITH_BIN([elementary], [elementary-codegen], [elementary_codegen])
165EFL_WITH_BIN([elementary], [elm-prefs-cc], [elm_prefs_cc])
161 166
162#### Default values 167#### Default values
163 168
@@ -5063,6 +5068,273 @@ AM_CONDITIONAL([BUILD_ECORE_BUFFER_X11_DRI3], [test "${build_ecore_buffer_x11_dr
5063 5068
5064#### End of Ecore_Buffer 5069#### End of Ecore_Buffer
5065 5070
5071
5072#### Elementary
5073
5074EFL_LIB_START([Elementary])
5075
5076### Default values
5077
5078### Additional options to configure
5079
5080## Elementary base dir
5081
5082AC_ARG_WITH([elementary-base-dir],
5083 [AS_HELP_STRING([--with-elementary-base-dir=PATH], [specify the subdirectory for all elementary data @<:@default=${elementary_base_dir}@:>@])],
5084 [elementary_base_dir=${withval}],
5085 [elementary_base_dir=".elementary"])
5086
5087AC_MSG_NOTICE([ELEMENTARY_BASE_DIR set to ${elementary_base_dir}])
5088AC_DEFINE_UNQUOTED([ELEMENTARY_BASE_DIR], ["${elementary_base_dir}"], ["subdirectory for all elementary data"])
5089
5090## Debug mode
5091
5092AC_ARG_ENABLE([debug],
5093 [AS_HELP_STRING([--enable-debug], [enable elementary debug support. @<:@default=disabled@:>@])],
5094 [want_elementary_debug=$enableval],
5095 [want_elementary_debug="no"])
5096
5097ELM_DEBUG_DEF="#undef"
5098if test "x$want_elementary_debug" = "xyes"; then
5099 AC_DEFINE([HAVE_ELEMENTARY_DEBUG], [1], [Elementary debug.])
5100 ELM_DEBUG_DEF="#define"
5101fi
5102AC_SUBST([ELM_DEBUG_DEF])
5103
5104## quicklaunch support
5105
5106AC_ARG_ENABLE([quick-launch],
5107 [AS_HELP_STRING([--disable-quick-launch], [disable quick-launch support, @<:@default=detect@:>@])],
5108 [want_quicklaunch=$enableval],
5109 [want_quicklaunch="auto"])
5110
5111### Checks for programs
5112
5113### Checks for libraries
5114
5115## Compatibility layers
5116
5117EFL_PLATFORM_DEPEND([ELEMENTARY], [evil])
5118
5119EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [eina])
5120EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [eet])
5121EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [eo])
5122EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [efl])
5123EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [evas])
5124EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ecore])
5125EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ecore-evas])
5126EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ecore-file])
5127EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ecore-input])
5128EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [edje])
5129EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ethumb_client])
5130EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [emotion])
5131EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ecore-imf])
5132EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ecore-con])
5133EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [eio])
5134EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [eldbus])
5135EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [efreet])
5136EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [efreet-mime])
5137EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [efreet-trash])
5138EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [elocation])
5139
5140EFL_ADD_LIBS([ELEMENTARY], [-lm])
5141
5142ELM_CHECK_BACKEND([X], [${want_x11_any}])
5143ELM_CHECK_BACKEND([FB], [${want_fb}])
5144ELM_CHECK_BACKEND([PSL1GHT], [${have_ps3}])
5145ELM_CHECK_BACKEND([SDL], [${want_sdl}])
5146ELM_CHECK_BACKEND([Cocoa], [${want_ecore_evas_gl_cocoa}])
5147ELM_CHECK_BACKEND([Win32], [${build_ecore_evas_win32}])
5148ELM_CHECK_BACKEND([Wl2], [${build_ecore_evas_wayland}])
5149ELM_CHECK_BACKEND([DRM], [${want_drm}])
5150
5151EFL_EVAL_PKGS([ELEMENTARY])
5152
5153### Checks for header files
5154
5155ELM_ALLOCA_H_DEF="#undef"
5156AC_CHECK_HEADER([alloca.h], [ELM_ALLOCA_H_DEF="#define"])
5157AC_SUBST([ELM_ALLOCA_H_DEF])
5158
5159ELM_LIBINTL_H_DEF="#undef"
5160AC_CHECK_HEADER([libintl.h], [ELM_LIBINTL_H_DEF="#define"])
5161AC_SUBST([ELM_LIBINTL_H_DEF])
5162
5163ELM_DIRENT_H_DEF="#undef"
5164AC_CHECK_HEADER([dirent.h], [ELM_DIRENT_H_DEF="#define"])
5165AC_SUBST([ELM_DIRENT_H_DEF])
5166
5167AC_CHECK_HEADER([sys/mman.h], [have_mman="yes"], [have_mman="no"])
5168if test "x${have_mman}" = "xyes"; then
5169 AC_DEFINE([HAVE_MMAN_H], [1], [Have sys/mman.h header file])
5170fi
5171
5172AC_CHECK_HEADERS([locale.h langinfo.h sys/times.h])
5173
5174case "$host_os" in
5175 darwin*)
5176 AC_CHECK_HEADERS([crt_externs.h])
5177 ;;
5178esac
5179
5180### Checks for types
5181
5182### Checks for structures
5183
5184### Checks for compiler characteristics
5185
5186### Checks for linker characteristics
5187
5188# sockets
5189
5190case "$host_os" in
5191 mingw*)
5192 have_socket="no"
5193 ;;
5194 *solaris*)
5195 AC_CHECK_LIB([socket], [connect],
5196 [
5197 have_socket="yes"
5198 requirement_elm_libs="-lsocket ${requirement_elm_libs}"
5199 ],
5200 [have_socket="no"])
5201 ;;
5202 darwin*)
5203 have_socket="yes"
5204 ;;
5205 *)
5206 have_socket="yes"
5207 ;;
5208esac
5209
5210AM_CONDITIONAL([BUILD_RUN], [test "x$have_socket" = "xyes"])
5211
5212# Check if we can build binary with quicklaunch support
5213ELM_QUICKLAUNCH
5214
5215### Checks for library functions
5216
5217EFL_CHECK_FUNCS([ELEMENTARY], [dlopen])
5218
5219AC_FUNC_ALLOCA
5220
5221AC_CHECK_FUNCS([geteuid getuid getpwent])
5222
5223if test "x${want_quicklaunch}" != "xno"; then
5224 AC_CHECK_FUNCS([fork clearenv])
5225fi
5226
5227build_quicklaunch="no"
5228if test "x${ac_cv_func_fork}" = "xyes" -a "x${efl_func_dlopen}" = "xyes"; then
5229 build_quicklaunch="yes"
5230fi
5231echo ${build_quicklaunch}
5232
5233AM_CONDITIONAL([BUILD_QUICKLAUNCH], [test "x${build_quicklaunch}" = "xyes"])
5234EFL_ADD_FEATURE([ELEMENTARY], [quicklaunch], [${build_quicklaunch}])
5235
5236# environ variable
5237
5238AC_COMPILE_IFELSE(
5239 [AC_LANG_PROGRAM(
5240 [[
5241# define _GNU_SOURCE 1
5242#include <unistd.h>
5243 ]],
5244 [[
5245extern char **environ;
5246 ]])
5247 ],
5248 [AC_DEFINE([HAVE_ENVIRON], [1], [extern environ exists])])
5249
5250case "$host_os" in
5251 darwin*)
5252 AC_DEFINE([environ], [(*_NSGetEnviron())], ["apple doesn't follow POSIX in this case."])
5253 ;;
5254esac
5255
5256### Check availability
5257
5258EFL_LIB_END([Elementary])
5259
5260#### End of Elementary
5261
5262
5263#### Elementary CXX
5264EFL_LIB_START([Elementary_Cxx])
5265
5266EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Eina_Cxx])
5267EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Eet_Cxx])
5268EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Ecore_Cxx])
5269EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Ecore])
5270EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Eina])
5271EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Eo])
5272EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Efl])
5273EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Elementary])
5274
5275EFL_EVAL_PKGS([ELEMENTARY_CXX])
5276
5277EFL_LIB_END([Elementary_Cxx])
5278#### End of Ecore CXX
5279
5280
5281#### Elementary_Js
5282EFL_LIB_START_OPTIONAL([Elementary_Js], [test "x${have_js}" = "xyes"])
5283
5284### Default values
5285
5286### Additional options to configure
5287
5288### Checks for programs
5289
5290### Checks for libraries
5291EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Eina])
5292EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Eo])
5293EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Ecore])
5294EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Eet])
5295EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Ecore_Evas])
5296EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Ecore_Con])
5297EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Ecore_Audio])
5298EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Efl])
5299EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Evas])
5300EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Edje])
5301EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Emotion])
5302EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Eldbus])
5303EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Emile])
5304EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Ethumb_Client])
5305EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Eio])
5306EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Elementary])
5307EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Efl_Js])
5308
5309AM_COND_IF([HAVE_NODEJS], [], [ EFL_ADD_LIBS([ELEMENTARY_JS], [-lv8]) ])
5310
5311EFL_EVAL_PKGS([ELEMENTARY_JS])
5312
5313AM_COND_IF([HAVE_NODEJS], [ELEMENTARYJS_CXXFLAGS="$ELEMENTARYJS_CXXFLAGS -DHAVE_NODEJS"], [])
5314AM_COND_IF([HAVE_LIBUV], [ELEMENTARYJS_CXXFLAGS="$ELEMENTARYJS_CXXFLAGS -DHAVE_LIBUV"], [])
5315AM_COND_IF([HAVE_JS], [ELEMENTARYJS_CXXFLAGS="$ELEMENTARYJS_CXXFLAGS -DHAVE_JS"], [])
5316
5317AM_COND_IF([HAVE_V8_CREATE_PARAMS], [ELEMENTARYJS_CXXFLAGS="$ELEMENTARYJS_CXXFLAGS -DHAVE_V8_CREATE_PARAMS"], [])
5318AM_COND_IF([HAVE_V8_GLOBAL], [ELEMENTARYJS_CXXFLAGS="$ELEMENTARYJS_CXXFLAGS -DHAVE_V8_GLOBAL"], [])
5319AC_SUBST([ELEMENTARYJS_CXXFLAGS])
5320
5321### Checks for header files
5322
5323### Checks for types
5324
5325### Checks for structures
5326
5327### Checks for compiler characteristics
5328
5329### Checks for linker characteristics
5330
5331### Checks for library functions
5332
5333### Check availability
5334
5335EFL_LIB_END_OPTIONAL([ELEMENTARY_JS])
5336#### End of Efl_Js
5337
5066AC_CONFIG_FILES([ 5338AC_CONFIG_FILES([
5067Makefile 5339Makefile
5068data/Makefile 5340data/Makefile
@@ -5340,6 +5612,11 @@ echo "Emotion.........: yes (${features_emotion})"
5340echo "Ethumb..........: yes" 5612echo "Ethumb..........: yes"
5341echo "Ethumb_Client...: yes" 5613echo "Ethumb_Client...: yes"
5342echo "Elua............: $have_elua" 5614echo "Elua............: $have_elua"
5615echo "Elementary......: yes (${features_elementary})"
5616echo
5617
5618echo
5619
5343if test "${build_tests}" = "none"; then 5620if test "${build_tests}" = "none"; then
5344echo "Tests...........: no" 5621echo "Tests...........: no"
5345elif test "${build_tests}" = "auto"; then 5622elif test "${build_tests}" = "auto"; then