Forwarding headers for ThreadWeaver

Mirko Boehm mirko at kde.org
Thu Jan 2 14:29:13 UTC 2014


Hi!

On 01 Jan 2014, at 18:37 , David Faure <faure at kde.org> wrote:

> On Wednesday 01 January 2014 18:27:36 Mirko Boehm wrote:
>> Hi,
>> 
>> On 01 Jan 2014, at 17:26 , David Faure <faure at kde.org> wrote:
>>> I'm converting all frameworks to ecm_generate_headers, which creates
>>> Framework/File forwarding headers for framework/file.h headers.
>>> 
>>> But ThreadWeaver creates an issue: it has File.h headers (titlecase),
>>> to be included like Weaver/Job.h
>>> 
>>> Shall we leave it as is then?
>>> Or convert it to weaver/job.h (lowercase) and Weaver/Job?
>> 
>> Both are fine with me. It should be done the same way as with the other
>> modules. Which way is the official one?
> 
> The official way used by all other modules would be
> threadweaver/job.h (lowercase real header) and
> ThreadWeaver/Job (forwarding header)

Ok. 

> Why was the "Thread" word been removed?
>> 
>> I cannot say, I did not change it (at least not purposefully, maybe this is
>> a side effect of changes in the build system). The Weaver/ directory was
>> always the subfolder in the source directory, and threadweaver/ was used
>> when installing.
> 
> Oh OK, I should have been looking outside (e.g. in plasma), not in TW itself.
> Indeed plasma uses threadweaver/Job.h, so I was wrong, "Weaver" hasn't been 
> removed.
> 
> OTOH to really make threadweaver like the other modules, I would move
> src/Weaver/* to src/*, the subdir isn't useful.

Is that a change that has any meaning to the outside world? If not, that can be done later as well.

> Since I was sick most of December, I am not completely done with the final
>> touches for the release. I get back home on the 3rd, and will finish the
>> last items on the TODO list on the 4th. Since this includes a few final
>> class name changes, it needs to be synced with the followup changes in
>> Plasma (nothing big). So from my point of view, ThreadWeaver should be
>> ready early week 2.
> 
> I want to release TP1 asap (i.e. once all forwarding headers are installed), 
> but SIC changes can still be done afterwards.

Threadweaver cannot be released before the class name changes are done, because those will be source incompatible. I get back tomorrow night, and will finish it on Saturday. After that, all other changes are incremental and BC, so the release would get unblocked. Sorry for that.

>> We are not having the threadweaver/ and ThreadWeaver/ directories in the
>> same folder, right? Because that would not work on either OSX nor Windows
>> (stating the obvious, I think).
> 
> Well, not that obvious - we didn't think about that :)
> But thinking about it, I don't think it will create a problem. We install into
> threadweaver/job.h and ThreadWeaver/Job, on Windows it might end up in the 
> same directory, but that's just fine, right?
> The includes will work whichever case the directory has.
> 
> Not sure how OSX works.

OSX uses a case insensitive but in all other aspects UNIX like file system (with symlinks et cetera) by default. I feel slightly uncomfortable with installing into the same directory because it may lead to weird clashes if there are file names that only differ in case  - those will end up being the same file on Windows and OSX. Can be avoided, but is a potential pitfall.

Ok, so train ride tomorrow, then hacking to get through the final TODO list. 

Cheers, 

Mirko.
-- 
Mirko Boehm | mirko at kde.org | KDE e.V.
FSFE Fellow, FSFE Team Germany
Qt Certified Specialist and Trainer






More information about the Kde-frameworks-devel mailing list