summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2019-09-23 18:59:27 +0100
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2019-09-23 19:03:54 +0100
commite65ebc61fa0632f922fc7433a9b31394046df1e4 (patch)
tree9dcfa7e68ff2dd29baf970d8844078ebba6275fa /README
parent40b22d644d48795476ff9a442b4d9779de04d9fd (diff)
build - update README and meson options to match echother in defaults
update some defaults like move to gl-es by default, tslib off by default as this really makes efl simpler to confgure ... by default with less things to change to get stuff working.
Diffstat (limited to 'README')
-rw-r--r--README182
1 files changed, 35 insertions, 147 deletions
diff --git a/README b/README
index fe6894c..8c305b7 100644
--- a/README
+++ b/README
@@ -210,9 +210,9 @@ Ecore main-loop and event queue.
210 210
211//BSD 2-Clause license// 211//BSD 2-Clause license//
212 212
213This is a library to wrap/deal with Xlib as well as optionally XCB to 213This is a library to wrap/deal with Xlib make dealing with X11 less painful
214make dealing with X11 less painful and less footwork as well as being 214and less footwork as well as being glue to tie these into the Ecore main-loop
215glue to tie these into the Ecore main-loop and event queue. 215and event queue.
216 216
217 217
218 218
@@ -464,7 +464,7 @@ Required by default:
464 * libxcursor 464 * libxcursor
465 * libxp 465 * libxp
466 * libxi (2.2 or newer) 466 * libxi (2.2 or newer)
467 * libgl (opengl/glx or opengl-es2/egl) 467 * opengl(mesa etc.) (opengl/glx/full or opengl-es2/egl)
468 * giflib 468 * giflib
469 * util-linux (limbount + libblkid) 469 * util-linux (limbount + libblkid)
470 * systemd / libudev 470 * systemd / libudev
@@ -473,35 +473,18 @@ Required by default:
473 * libspectre 473 * libspectre
474 * librsvg 474 * librsvg
475 475
476Recommended requirements (highly recommended): 476You might want webp support so disable fewer loaders and remove webp
477from the disablers with:
477 478
478 * harfbuzz 479 -Devas-loaders-disabler=json
479 * libwebp
480 * libunwind (where available)
481 480
482Enable these with configure options: 481Wayland support:
483 482
484 --enable-xinput22 \ 483You may also want wayland support when on Linux. This enables support
485 --enable-image-loader-webp \ 484for EFL to trget wayland support for client applications. To do this
486 --enable-harfbuzz \ 485supply:
487 --enable-multisense
488 486
489COMPILER FLAGS 487 -Dwl=true
490--------------
491
492You can affect compilation optimization, debugging and other factors
493by setting your CFLAGS environment variable (and CXXFLAGS). Be aware
494that to ensure ABI stability you should use the exact same CFLAGS /
495CXXFLAGS for all the build of EFL and any applications/libraries that
496depend on them.
497
498Other possible recommendations:
499
500 * scim
501
502Enable this with:
503
504 --enable-scim
505 488
506Framebuffer support: 489Framebuffer support:
507 490
@@ -509,17 +492,15 @@ This requires linux frame-buffer support, headers etc. This supports
509basic frame-buffers like /dev/fb as well as input via /dev/input for 492basic frame-buffers like /dev/fb as well as input via /dev/input for
510keyboards and mice in a basic way. Enable this with: 493keyboards and mice in a basic way. Enable this with:
511 494
512 --enable-fb 495 -Dfb=true
513
514This also turns on support for touch-screens via tslib. Not everyone
515has tslib, so you may want to disable it with:
516
517 --disable-tslib
518 496
519You likely don't need static libraries most of the time so you can 497For more modern framebuffer support you may want drm/kms rendering
520disable them with: 498support so enable this. This is what you also want for wayland
499compositor support in enlightenment as it will want to be able to
500render to a moder framebuffer tarbet with atomic buffer swapping. To
501do this provide:
521 502
522 --disable-static 503 -Ddrm=true
523 504
524You may want to change the install prefix for EFL with: 505You may want to change the install prefix for EFL with:
525 506
@@ -528,126 +509,33 @@ You may want to change the install prefix for EFL with:
528The default prefix if not given is "/usr/local". Many people like to 509The default prefix if not given is "/usr/local". Many people like to
529use prefixes like /opt/e or /opt/efl or /home/USERNAME/software etc. 510use prefixes like /opt/e or /opt/efl or /home/USERNAME/software etc.
530 511
531You may want to enable valgrind support if you plan on doing debugging 512COMPILER FLAGS
532with EFL or apps built on top of EFL. This requires an install of 513--------------
533valgrind first. You can enable this with:
534
535 --enable-valgrind
536
537You may want to enable xine support in emotion, as this library
538provides fairly solid support for a lot of codecs and DVD navigation
539support and more. You can enable it with:
540
541 --enable-xine
542
543Wayland is also supported fairly solidly in EFL 1.8. It is not
544required by default due to it being new and not that widely spread.
545You can enable Wayland support with:
546
547 --enable-wayland \
548 --enable-elput \
549 --enable-drm
550
551For faster rendering when dithering down to lower-than 24/32bpp, you
552can try:
553
554 --with-evas-dither-mask=small
555 514
556But this will drop quality slightly, using a small 16x16 ordered 515You can affect compilation optimization, debugging and other factors
557dither mask rather than the default 128x128. This should save a little 516by setting your CFLAGS environment variable (and CXXFLAGS). Be aware
558memory too in the binary size of Evas. 517that to ensure ABI stability you should use the exact same CFLAGS /
518CXXFLAGS for all the build of EFL and any applications/libraries that
519depend on them.
559 520
560There are many other configure options that can be used, but in 521There are many other configure options that can be used, but in
561general it is not a good idea to go enabling or disabling things 522general it is not a good idea to go enabling or disabling things
562unless you wish to break things. The defaults are well tested, with 523unless you wish to break things. The defaults are well tested, with
563the above recommended options also being well tested. Go much further 524the above recommended options also being well tested. Go much further
564and your mileage may vary wildly. Disabling features is a good way of 525and your mileage may vary wildly. Disabling features is a good way of
565breaking EFL functionality, so it is not recommended. The defaults 526breaking EFL functionality, so it is not recommended to mess with
527these without understanding the implications. The defaults
566have been carefully considered to provide full functionality so users 528have been carefully considered to provide full functionality so users
567will not be missing anything. 529will not be missing anything.
568 530
569 531
570VALGRIND DEPENDENCY
571-------------------
572
573EFL uses the concept of memory pools (mempool) and this will confuse
574valgrind memcheck tool. By using memory pool, the memory is still
575owned by EFL, then valgrind won't alert on memory leaks or use of
576unused memory. EFL will use memcheck.h from valgrind to declare its
577memory pools to valgrind, producing better debugging results.
578
579However valgrind is only available to limited platforms, making it
580hard for us to declare it a mandatory requirement. Based on
581--with-profile={dev,debug} valgrind will be used if available or will
582be issued a warning. You can force valgrind with --enable-valgrind, or
583disable it and the warning with --disable-valgrind.
584
585EFL does NOT link to valgrind libraries. Then there is NO runtime
586dependency on valgrind.
587
588
589BULLET PHYSICS DEPENDENCY
590-------------------------
591
592EFL comes with EPhysics (a physics wrapper library) enabled by
593default. To build it the user must have BulletPhysics engine installed.
594
595More information about BulletPhysics can be obtained in the upstream project
596web site at http://bulletphysics.org
597
598We have received many reports about BulletPhysics installation and distros
599packages in bad shape, some without even a package. If your distro doesn't
600ship a BulletPhysics package or you want to build it from source code follow
601the instructions below:
602
603**Required Packages:**
604
605You should have cmake installed. Bullet comes with autotools and cmake build
606systems, do not use the autotools alternative, it's unstable, bogus and hasn't
607been maintained for quite some time.
608
609**Download the tarball from:**
610
611http://code.google.com/p/bullet/downloads/list
612
613**NOTE:**
614
615The current supported version is 2.80 or greater.
616
617**Compiling and Installing:**
618
619Uncompress it to (say) ~/bullet and:
620
621 cd ~/bullet/build
622 cmake .. -DBUILD_CPU_DEMOS=OFF -DBUILD_DEMOS=OFF -DBUILD_SHARED_LIBS=ON
623 make
624 sudo make install
625 sudo ldconfig
626
627**Ubuntu Users:**
628
629Alternatively Ubuntu users have the option to install the BulletPhysics from
630our official EFL PPA:
631
632https://launchpad.net/~efl/+archive/trunk
633
634
635PROFILES
636--------
637
638EFL build is based on "profiles". It will default to "dev" for
639unreleased software and "release" for official tarballs. One can
640change it with --with-profile=NAME, where NAME is one of:
641
642 * **dev**: extra checks useful to test software.
643 * **debug**: superset of dev, with debug features and assert().
644 * **release**: optimizations and less checks so it runs faster.
645
646
647CRYPTOGRAPHY 532CRYPTOGRAPHY
648------------ 533------------
649 534
650EFL officially uses "openssl" library to do signature, cipher and related. 535EFL officially offers openssl or gnutls as cryptography backends. By
651Alternatively one can use "gnutls" (some distros are strict about licenses 536default it uses "openssl" to do signature, cipher and related. Alternatively
652and want gnutls instead of openssl) or disable it. One can change it with 537one can use "gnutls" (some distros are strict about licenses and want gnutls
653--with-crypto=NAME, where NAME is one of: "openssl", "gnutls" and "none". 538instead of openssl) You can switch to gnutls with:
539
540 -Dcrypto=gnutls
541