Revert "reduce include deps for enlightenment_imc binary"

This reverts commit ee71ea63ec.

Revert "reduce include deps for enlightenment_thumb binary"
This reverts commit cce14fa839.

both of these i reverted.... because they both CHANGE the define of
E_API like:

and this is wrong. e.h defines this so that these symbols are exposed.
E_API, EAPI and friends are desighned to explicitly expose symbols.
because if you try and make STRICTER binaries that only have symbols
for what was EXPLICTLY exposed like the CFLAG -fvisibility=hidden ...
then any api not explicitly marked with the attribute of visible which
that E_API macro is intended for... will be invisible. it will not
exist. this means a whole MOUNTAIN of modules stop loading as they
can't find these symbols. E_API isn't just source sugar tagging. it's
actually functional. i'd suggest using -fvisibility=hidden in your
CFLAGS by default. it's also not always portable between all compilers
so beware... (it was introduced years ago in gcc... i think clang
offers it. i don't know about icc or any others).

so since E_API is defined in e.h ... we may as well keep the e.h
include there instead of hand re-writing a list of includes. does
reducing the include deps really have an impact worth talking about on
compile time? the commit logs didn't say. but it does break module
loading and does it by adding lots of lines of code that are far mroe
easily broken now (this is an examplt). :)
This commit is contained in:
Carsten Haitzler 2017-07-15 10:07:39 +09:00
parent b7e8e886e9
commit e130557be7
5 changed files with 7 additions and 60 deletions

View File

@ -1,12 +1,4 @@
#include <Eina.h>
#include <Eet.h>
#define E_TYPEDEFS
#include "e_config_data.h"
#undef E_TYPEDEFS
#ifndef E_API
# define E_API
#endif
#include "e_config_data.h"
#include "e.h"
static Eina_Hash *config_hash = NULL;

View File

@ -1,19 +1,4 @@
#include <Eina.h>
#include <Eet.h>
#include <Ecore_File.h>
#define E_TYPEDEFS
#include "e_config_data.h"
#include "e_intl_data.h"
#undef E_TYPEDEFS
#ifndef E_API
# define E_API
#endif
#ifndef EINTERN
# define EINTERN
#endif
#include "e_config_data.h"
#include "e_intl_data.h"
#include "e.h"
static void _e_help(void);
@ -196,7 +181,7 @@ main(int argc, char **argv)
}
e_intl_input_method_config_free(read_imc);
free(write_imc);
E_FREE(write_imc);
eet_close(ef);
e_intl_data_shutdown();
eet_shutdown();

View File

@ -1,17 +1,4 @@
#include <Eina.h>
#include <Eet.h>
#define E_TYPEDEFS
#include "e_config_data.h"
#include "e_intl_data.h"
#undef E_TYPEDEFS
#ifndef E_API
# define E_API
#endif
#ifndef EINTERN
# define EINTERN
#endif
#include "e_config_data.h"
#include "e_intl_data.h"
#include "e.h"
/* This file is the counterpart for data storage of e_intl */
/* This only needs to be separate because the e_imc binary and other third parties
@ -82,7 +69,7 @@ e_intl_input_method_config_free(E_Input_Method_Config *imc)
if (imc->ecore_imf_module) eina_stringshare_del(imc->ecore_imf_module);
if (imc->e_im_exec) eina_stringshare_del(imc->e_im_exec);
if (imc->e_im_setup_exec) eina_stringshare_del(imc->e_im_setup_exec);
free(imc);
E_FREE(imc);
}
}

View File

@ -1,13 +1,6 @@
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "e.h"
#include <string.h>
#ifndef E_API
#define E_API
#endif
#ifdef HAVE_ARPA_INET_H
# include <arpa/inet.h>
#endif

View File

@ -1,14 +1,4 @@
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <stdio.h>
#include <string.h>
#include <limits.h>
#include <Efreet.h>
#ifndef E_API
#define E_API
#endif
#include "e.h"
static const char *_e_user_homedir = NULL;
static size_t _e_user_homedir_len = 0;