Page MenuHomePhabricator

build: add a setup script, that recomments the best options for platform
AbandonedPublic

Authored by bu5hm4n on Dec 6 2018, 3:11 AM.

Details

Summary

The script will add the options which are needed in order to work on a
platform, the linux-style subsystems are disabled for macos, bsd, and
windows.

The script will also look into a passed cross file to find out which
options to use.
Depends on D7392

Diff Detail

Repository
rEFL core/efl
Branch
devs/bu5hm4n/utility
Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 8367
bu5hm4n created this revision.Dec 6 2018, 3:11 AM
bu5hm4n requested review of this revision.Dec 6 2018, 3:11 AM

I am missing context for what these should be used. In the CI system? For users to ease bootstrap?

For all of them, just a general helper

zmike requested changes to this revision.Jan 9 2019, 9:21 AM
zmike added a subscriber: zmike.

Do not use the filename setup.py as people will confuse this with setuptools from python.

This revision now requires changes to proceed.Jan 9 2019, 9:21 AM
raster added a subscriber: raster.Jan 25 2020, 7:16 AM

yeah - what @zmike said . setup.py - not a good choice. the general idea i like. i dislike there being setup.py and setup-examples.py. if this is going to be as xomplex and becoming python i might say this should be a single script with something like

./conf [-h | -help | --h | --help ]   | help
./conf                                | automagic detects host os/env and sets up recommended options
                                      |   (e.g. may enable wl by default if on linux?)
                                      |   may fail if recommended deps not there
./conf wl=true                        | enables wayland support explicitly on top of automagic
./conf wl=false                       | disabled wayland support explicitly on top of automagic
./conf systemd=false                  | explicitly disabled systemd even if automagic decided to enable it
./conf prefix=/usr                    | set prefix to /usr
./conf opt1=xxx opt2=yyy              | multiple options
./conf profile=xxx                    | select a specific profile (OS specific ones so will only allow those for that OS)
...

or something like this? this way for people who are not being fussy and are willing to accept our recommended options for the given platform, they just use ./conf and then ninja -C build etc. :) ? perhaps this is best?

vtorri added a subscriber: vtorri.Jan 25 2020, 1:17 PM

on Windows, here is my script :

#! /bin/bash

export PATH=/opt/ewpi_64/bin:$PATH
export PKG_CONFIG_PATH=/opt/ewpi_64/lib/pkgconfig
export EFL_RUN_IN_TREE=1
export CPPFLAGS="-I/opt/ewpi_64/include -DECORE_WIN64_WIP_POZEFLKSD"
export CFLAGS="-g3 -ggdb3 -Og -pipe"
export CXXFLAGS="-g3 -ggdb3 -Og -pipe"
export LDFLAGS=-L/opt/ewpi_64/lib

rm -rf builddir && mkdir builddir && cd builddir

meson .. --prefix=/opt/efl_64 --buildtype=debug --default-library shared -Dglib=false -Dsystemd=false -Dpulseaudio=false -Davahi=false -Dv4l2=false -Dlibmount=false -Deeze=false -Dsdl=true -Dx11=false -Dxinput2=false -Dtslib=false -Devas-loaders-disabler='pdf','ps','raw','svg','rsvg','json','tga','tgv' -Dopengl=none -Dharfbuzz=true -Dpixman=true -Dembedded-lz4=false -Decore-imf-loaders-disabler='xim','ibus','scim' -Dphysics=false -Dfribidi=false

ninja -v -j8
ninja -j8 install
bu5hm4n abandoned this revision.Jan 29 2020, 12:58 AM

This is now solved differently