strealine the getting started guide to have simpler autofoo.
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 10 Aug 2011 05:48:09 +0000 (05:48 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 10 Aug 2011 05:48:09 +0000 (05:48 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/elementary@62286 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/Elementary.h.in

index f6c1245..55d46d8 100644 (file)
@@ -52,7 +52,6 @@ organisations behind this, as listed in the @ref authors page.
  *
  * @code
  * #include <Elementary.h>
- * #ifndef ELM_LIB_QUICKLAUNCH
  * EAPI int
  * elm_main(int argc, char **argv)
  * {
@@ -61,86 +60,51 @@ organisations behind this, as listed in the @ref authors page.
  *    elm_shutdown(); // after mainloop finishes running, shutdown
  *    return 0; // exit 0 for exit code
  * }
- * #endif
  * ELM_MAIN()
  * @endcode
  *
- * To take full advantage of the quicklaunch architecture for launching
- * processes as quickly as possible (saving time at startup time like
- * connecting to X11, loading and linking shared libraries) you may want to
- * use the following configure.in/configure.ac and Makefile.am and autogen.sh
- * script to generate your files. It is assumed your application uses the
- * main.c file for its code.
+ * To use autotools (which helps in many ways in the long run, like being able
+ * to immediately create releases of your software directly from your tree
+ * and ensure everything needed to buiuld it is there) you will need a
+ * configure.ac, Makefile.am and autogen.sh file.
  *
- * configure.in/configure.ac:
+ * configure.ac:
  *
 @verbatim
 AC_INIT(myapp, 0.0.0, myname@mydomain.com)
 AC_PREREQ(2.52)
-AC_CONFIG_SRCDIR(configure.in)
-
-AM_INIT_AUTOMAKE(1.6 dist-bzip2)
+AC_CONFIG_SRCDIR(configure.ac)
 AM_CONFIG_HEADER(config.h)
-
-AC_C_BIGENDIAN
-AC_ISC_POSIX
 AC_PROG_CC
-AM_PROG_CC_STDC
-AC_HEADER_STDC
-AC_C_CONST
-
-AC_LIBTOOL_WIN32_DLL
-define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])dnl
-define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
-AC_PROG_LIBTOOL
-
+AM_INIT_AUTOMAKE(1.6 dist-bzip2)
 PKG_CHECK_MODULES([ELEMENTARY], elementary)
-
 AC_OUTPUT(Makefile)
 @endverbatim
  *
  * Makefile.am:
  *
 @verbatim
-AUTOMAKE_OPTIONS     = 1.4 foreign
-MAINTAINERCLEANFILES = Makefile.in
-
-INCLUDES = -I$(top_srcdir) @ELEMENTARY_CFLAGS@
-
-bin_PROGRAMS      = myapp
-myapp_LTLIBRARIES = myapp.la
+AUTOMAKE_OPTIONS = 1.4 foreign
+MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.h.in configure depcomp install-sh missing
 
-myappdir = $(libdir)
+INCLUDES = -I$(top_srcdir)
 
-myapp_la_SOURCES = main.c
-myapp_la_LIBADD = @ELEMENTARY_LIBS@
-myapp_la_CFLAGS =
-myapp_la_LDFLAGS = -module -avoid-version -no-undefined
+bin_PROGRAMS = myapp
 
 myapp_SOURCES = main.c
 myapp_LDADD = @ELEMENTARY_LIBS@
-myapp_CFLAGS = -DELM_LIB_QUICKLAUNCH=1
+myapp_CFLAGS = @ELEMENTARY_CFLAGS@
 @endverbatim
  *
  * autogen.sh:
  *
 @verbatim
 #!/bin/sh
-rm -rf autom4te.cache
-rm -f aclocal.m4 ltmain.sh
-rm -rf m4
-mkdir m4
-
-touch README
-echo "Running aclocal..." ; aclocal $ACLOCAL_FLAGS -I m4 || exit 1
+echo "Running aclocal..." ; aclocal $ACLOCAL_FLAGS || exit 1
 echo "Running autoheader..." ; autoheader || exit 1
 echo "Running autoconf..." ; autoconf || exit 1
-echo "Running libtoolize..." ; (libtoolize --copy --automake || glibtoolize --automake) || exit 1
 echo "Running automake..." ; automake --add-missing --copy --gnu || exit 1
-
-if [ -z "$NOCONFIGURE" ]; then
-  ./configure "$@"
-fi
+./configure "$@"
 @endverbatim
  *
  * To generate all the things needed to bootstrap just run:
@@ -209,80 +173,9 @@ make maintainer-clean
  * This deletes all the files autogen.sh will produce so the tree is clean
  * to be put into a revision-control system (like CVS, SVN or GIT for example).
  *
- * The above will build a library - libmyapp.so and install in the target
- * library directory (default is /usr/local/lib). You will also get a
- * myapp.a and myapp.la - these are useless and can be deleted. Libtool likes
- * to generate these all the time. You will also get a binary in the target
- * binary directory (default is /usr/local/bin). This is a "debug binary".
- * This will run and dlopen() the myapp.so and then jump to it's elm_main
- * function. This allows for easy debugging with GDB and Valgrind. When you
- * are ready to go to production do the following:
- *
- * 1. delete the myapp binary. i.e. rm /usr/local/bin/myapp
- *
- * 2. symlink the myapp binary to elementary_run (supplied by elementary).
- * i.e. ln -s elmentary_run /usr/local/bin/myapp
- *
- * 3. run elementary_quicklaunch as part of your graphical login session and
- * keep it running.
- *
- * This will man elementary_quicklaunch does pre-initialization before the
- * application needs to be run, saving the effort at the time the application
- * is needed, thus speeding up the time it takes to appear.
- *
- * If you don't want to use the quicklaunch infrastructure (which is
- * optional), you can execute the old fashioned way by just running the
- * myapp binary loader than will load the myapp.so for you, or you can
- * remove the split-file binary and put it into one binary as things always
- * have been with the following configure.in/configure.ac and Makfile.am
- * files:
- *
- * configure.in/configure.ac:
- *
-@verbatim
-AC_INIT(myapp, 0.0.0, myname@mydomain.com)
-AC_PREREQ(2.52)
-AC_CONFIG_SRCDIR(configure.in)
-
-AM_INIT_AUTOMAKE(1.6 dist-bzip2)
-AM_CONFIG_HEADER(config.h)
-
-AC_C_BIGENDIAN
-AC_ISC_POSIX
-AC_PROG_CC
-AM_PROG_CC_STDC
-AC_HEADER_STDC
-AC_C_CONST
-
-PKG_CHECK_MODULES([ELEMENTARY], elementary)
-
-AC_OUTPUT(Makefile)
-@endverbatim
- *
- * Makefile.am:
- *
-@verbatim
-AUTOMAKE_OPTIONS     = 1.4 foreign
-MAINTAINERCLEANFILES = Makefile.in
-
-INCLUDES = -I$(top_srcdir) @ELEMENTARY_CFLAGS@
-
-bin_PROGRAMS      = myapp
-
-myapp_SOURCES = main.c
-myapp_LDADD = @ELEMENTARY_LIBS@
-myapp_CFLAGS =
-@endverbatim
- *
- * Notice that they are the same as before, just with libtool and library
- * building sections removed. Both ways work for building elementary
- * applications. It is up to you to decide what is best for you. If you just
- * follow the template above, you can do it both ways and can decide at build
- * time. The more advanced of you may suggest making it a configure option.
- * That is perfectly valid, but has been left out here for simplicity, as our
- * aim to have an Elementary (and EFL) tutorial, not an autoconf & automake
- * document.
- *
+ * There is a more advanced way of making use of the quicklaunch infrastructure
+ * in Elementary (which will not be covered here due to its more advanced
+ * nature).
  */
 
 /**