Opened 7 years ago

Closed 6 years ago

#1175 closed enhancement (fixed)

Add define and undefine CModule/CLibrary entries

Reported by: Tristan Croll Owned by: Conrad Huang
Priority: major Milestone:
Component: Tool Shed Version:
Keywords: Cc: pett, Greg Couch, Tom Goddard
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

ISOLDE is getting rather large now, and the C++ portion is divided into five different compiled libraries (and counting). In order to link them to each other (and, ultimately, to let other packages use ISOLDE's C++ API) they're all going to need their own import/export macros - which in turn means I need to pass library-specific macro definitions in.

Accordingly, I've made some edits to bundle_builder.py to allow two new elements in <CModule> and <CLibrary> entries in bundle_info.xml:

<CLibrary name="foo">
  <Define>BAR1</Define>
  <Define>BAR2=1</Define>
  <Undefine>FOOBAR</Undefine>
  <SourceFile>src/foo.cpp</SourceFile>
</CLibrary>

Also addressed a handful of bugs described in #1147 and #1172, and set the CLibrary compilation to verbose so the compiler commands are echoed to the shell.

Attachments (2)

bundle_builder.py (25.4 KB ) - added by Tristan Croll 7 years ago.
bundle_builder-1.py (25.3 KB ) - added by tic20@… 7 years ago.
Added by email2trac

Download all attachments as: .zip

Change History (5)

by Tristan Croll, 7 years ago

Attachment: bundle_builder.py added

in reply to:  2 comment:1 by tic20@…, 7 years ago

Oops - stupid mistake on my part (list.extend(list) returns None, not 
the extended list...). Fixed in the attached.

On 2018-06-27 11:10, ChimeraX wrote:

bundle_builder-1.py

by tic20@…, 7 years ago

Attachment: bundle_builder-1.py added

Added by email2trac

comment:2 by Tristan Croll, 7 years ago

Another addition to the wish-list: a <CompileArgument> field (mainly so I can add -fvisibility=hidden to work nicely with ..._IMEX macros).

comment:3 by Conrad Huang, 6 years ago

Resolution: fixed
Status: assignedclosed

Added Tristan's patch in 0d03fc7.

Note: See TracTickets for help on using tickets.