If a flag is only true or false it should use BoolVariable not EnumVariable.

EnumVariable can be used but the BoolVariable accepts more values as long as 
they are clearly interpreted as true or false.

For BoolVariable multiple values work:
True = True, true, on, ON, 1
False = False, false, off, OFF, 0

EnumVariable must be an exact match. If the allowed_values are '0' and '1' then 
only 0 and 1 will work. Typing in Variable=False will fail because EnumVariable 
does not know how to convert the string 'False' to '0'.

If the build option is a True/False build flag please use BoolVariable.

George

-----Original Message-----
From: iotivity-dev-bounces at lists.iotivity.org 
[mailto:iotivity-dev-boun...@lists.iotivity.org] On Behalf Of Mats Wichmann
Sent: Tuesday, May 30, 2017 8:37 AM
To: IoTivity Developer List <iotivity-dev at lists.iotivity.org>
Subject: [dev] small questions on iotivity build options


when I put together the page that I think has the Jenkins builds captured on 
it, I also made up a list of what the default values for the various options 
are.  The windows builds seem to be very explicit about what options are set, 
but the others are not, so I ding is useful to see the defaults (also appear in 
the helpmsg).

EXC_PROV_SUPPORT is poorly documented in the help and does not seem to be used 
execept in one place - the generation of the pkg-config file for iotivity, 
which is barely even used, and I'm not clear if it is actually correct.  The 
"docs" are:

"Except OCPMAPI library(libocpmapi.so)"

what does that mean?

Then on the page
(https://wiki.iotivity.org/jenkins_builders#default_values) we see that there 
are a bunch of values with are boolean in True/False sense, and
those are declared in the sconscripts as type BoolVariable.   There are
also another batch which are boolean in intent, but actually declared as 
EnumVariable, with a constraint of allowed_values=('0', '1').

It turns out scons allows a variety of choices to map to True/False in its 
interpretation of BoolVariable, and those include 0 and 1.

Does it make sense to harmonize these?  I've always wondered why some of the 
flags want True/False and some want 0/1.

Note it's easy enough for scons, but might take some attention in auto_build.py 
and run.bat, which have knowledge of how the flags work.

_______________________________________________
iotivity-dev mailing list
iotivity-dev at lists.iotivity.org
https://lists.iotivity.org/mailman/listinfo/iotivity-dev

Reply via email to