summaryrefslogblamecommitdiff
path: root/src/lib/ecore/meson.build
blob: 375f745abdcf8579f436337059c796d17eb8ff8c (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14













                                                              

                              

                                      
                                                                                          

                                                                                              







                                                                                              
                                                                                          
                                                                                                     

                                                                                                     

























                                







                                     

                                       






                                

                      

                             





                                                              
                             

                                      
                                                                                          

                                                                                              

                                                                                              






















































                                                                 








                                  

                                      
                     







                                    










                             



                        
                    

                        
                            

 
                      
                                    
                                    



                                                      
                                                      















































                                                                                    
ecore_deps = [intl]
ecore_pub_deps = [eina, eo, efl]

pub_legacy_eo_files = [
  'ecore_exe.eo',
  'ecore_event_message.eo',
  'ecore_event_message_handler.eo',
  'efl_loop_timer.eo'
]

pub_eo_file_target = []
foreach eo_file : pub_legacy_eo_files
  pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
    input : eo_file,
    output : [eo_file + '.h'],
    depfile : eo_file + '.d',
    install : true,
    install_dir : dir_package_include,
    command : eolian_gen + [ '-I', meson.current_source_dir(), eolian_include_directories,
                           '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
                           '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
                           '-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
                           '-gchd', '@INPUT@'])
  pub_eo_file_target += custom_target('eolian_gen_legacy_' + eo_file,
    input : eo_file,
    output : [eo_file + '.legacy.h'],
    depfile : eo_file + '.legacy.d',
    install : true,
    install_dir : dir_package_include,
    command : eolian_gen + [ '-I', meson.current_source_dir(), eolian_include_directories,
                           '-o', 'l:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.h'),
                           '-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.d'),
                           '-gld', '@INPUT@'])
endforeach

pub_eo_files = [
  'efl_app.eo',
  'efl_loop.eo',
  'efl_loop_consumer.eo',
  'efl_loop_fd.eo',
  'efl_loop_handler.eo',
  'efl_loop_message.eo',
  'efl_loop_message_handler.eo',
  'efl_exe.eo',
  'efl_thread.eo',
  'efl_threadio.eo',
  'efl_appthread.eo',
  'efl_task.eo',
  'efl_io_closer_fd.eo',
  'efl_io_positioner_fd.eo',
  'efl_io_reader_fd.eo',
  'efl_io_sizer_fd.eo',
  'efl_io_writer_fd.eo',
  'efl_io_stdin.eo',
  'efl_io_stdout.eo',
  'efl_io_stderr.eo',
  'efl_io_file.eo',
  'efl_io_copier.eo',
  'efl_io_buffered_stream.eo',
  'efl_linear_interpolator.eo',
  'efl_accelerate_interpolator.eo',
  'efl_decelerate_interpolator.eo',
  'efl_sinusoidal_interpolator.eo',
  'efl_divisor_interpolator.eo',
  'efl_bounce_interpolator.eo',
  'efl_spring_interpolator.eo',
  'efl_cubic_bezier_interpolator.eo',
  'efl_loop_message_future_handler.eo',
  'efl_loop_message_future.eo',
  'efl_loop_model.eo',
  'efl_generic_model.eo',
  'efl_container_model.eo',
  'efl_container_model_item.eo',
  'efl_boolean_model.eo',
  'efl_select_model.eo',
  'efl_composite_model.eo',
  'efl_view_model.eo',
  'efl_core_env.eo',
  'efl_core_proc_env.eo',
  'efl_core_command_line.eo',
]

foreach eo_file : pub_eo_files
  pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
    input : eo_file,
    output : [eo_file + '.h'],
    depfile : eo_file + '.d',
    install : true,
    install_dir : dir_package_include,
    command : eolian_gen + [ '-I', meson.current_source_dir(), eolian_include_directories,
                           '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
                           '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
                           '-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
                           '-gchd', '@INPUT@'])
endforeach

# special handling, because this is already eo API and legacy API
pub_eo_files += ['efl_loop_timer.eo']

pub_eo_types_files = []

eolian_include_directories += ['-I', meson.current_source_dir()]

ecore_header_src = [
  'Ecore.h',
  'Ecore_Common.h',
  'Ecore_Legacy.h',
  'Ecore_Eo.h',
  'Efl_Core.h',
  'efl_general.h',
  'Ecore_Getopt.h'
]

ecore_src = [
  'efl_app.c',
  'ecore.c',
  'ecore_alloc.c',
  'ecore_anim.c',
  'ecore_app.c',
  'ecore_events.c',
  'ecore_getopt.c',
  'ecore_glib.c',
  'ecore_idle_enterer.c',
  'ecore_idle_exiter.c',
  'ecore_idler.c',
  'ecore_job.c',
  'ecore_main.c',
  'ecore_event_message.c',
  'ecore_event_message_handler.c',
  'efl_loop.c',
  'efl_loop_consumer.c',
  'efl_loop_fd.c',
  'efl_loop_handler.c',
  'efl_loop_message.c',
  'efl_loop_message_future.c',
  'efl_loop_message_handler.c',
  'efl_loop_message_future_handler.c',
  'efl_task.c',
  'efl_io_closer_fd.c',
  'efl_io_positioner_fd.c',
  'efl_io_reader_fd.c',
  'efl_io_sizer_fd.c',
  'efl_io_writer_fd.c',
  'efl_io_stdin.c',
  'efl_io_stdout.c',
  'efl_io_stderr.c',
  'efl_io_file.c',
  'efl_io_copier.c',
  'efl_io_buffered_stream.c',
  'efl_loop_model.c',
  'efl_generic_model.c',
  'efl_container_model.c',
  'efl_container_model_item.c',
  'efl_container_model_private.h',
  'efl_composite_model.c',
  'efl_boolean_model.c',
  'efl_select_model.c',
  'efl_composite_model_private.h',
  'efl_model_accessor_view.c',
  'efl_model_accessor_view_private.h',
  'efl_view_model.c',
  'efl_linear_interpolator.c',
  'efl_accelerate_interpolator.c',
  'efl_decelerate_interpolator.c',
  'efl_sinusoidal_interpolator.c',
  'efl_divisor_interpolator.c',
  'efl_bounce_interpolator.c',
  'efl_spring_interpolator.c',
  'efl_cubic_bezier_interpolator.c',
  'ecore_main_timechanges.c',
  'ecore_pipe.c',
  'ecore_poller.c',
  'ecore_time.c',
  'ecore_timer.c',
  'ecore_thread.c',
  'ecore_throttle.c',
  'ecore_exe.c',
  'ecore_exe_private.h',
  'ecore_private.h',
  'ecore_internal.h',
  'ecore_main_common.h',
  'efl_exe.c',
  'efl_thread.c',
  'efl_threadio.c',
  'efl_appthread.c',
  'efl_core_env.c',
  'efl_core_proc_env.c',
  'efl_core_command_line.c',
]

if sys_windows == true
  #nothing for now ... needs testing
  ecore_src += ['ecore_exe_win32.c']
else
  ecore_src += ['ecore_signal.c', 'ecore_exe_posix.c']
endif

if get_option('glib') == true and sys_windows == false
  ecore_deps += dependency('glib-2.0')
  ecore_deps += dependency('gthread-2.0')
  config_h.set('GLIB_INTEGRATION_ALWAYS', '1')
  config_h.set('HAVE_GLIB', '1')
endif

if get_option('g-mainloop') == true
  config_h.set('USE_G_MAIN_LOOP', '1')
endif

if get_option('gstreamer') == true
  gstreamer = dependency('gstreamer-1.0')
  ecore_deps += gstreamer
endif

if get_option('systemd') == true
  ecore_deps += systemd
endif

ecore_lib = library('ecore',
    ecore_src, pub_eo_file_target,
    dependencies: ecore_pub_deps + [m, buildsystem, ecore_deps],
    include_directories : config_dir + [include_directories(join_paths('..','..'))],
    install: true,
    c_args : package_c_args,
    version : meson.project_version()
)

ecore = declare_dependency(
  include_directories: [include_directories('.')],
  link_with: ecore_lib,
  sources : pub_eo_file_target + priv_eo_file_target,
  dependencies: ecore_pub_deps,
)

eolian_ecore_dir = join_paths(eolian_include_dir, package_version_name)

install_data(pub_eo_files + pub_eo_types_files,
  install_dir: eolian_ecore_dir
)

install_headers(ecore_header_src,
  install_dir : dir_package_include,
)

#TODO:
# HAVE_TIZEN_CONFIGUREATION_MANAGER
# avahi