Improve build system

Registered by Andrew Starr-Bochicchio on 2008-01-30

Awn Extras: Build System

I simplified the build system so that applet developers don't have to learn (as much) about autotools to get it integrated into awn-extras.

Important files and their variables

* Makefile.c-applet: Need to define APPLET_NAME and (optionally) APPLET_CFLAGS.

* Makefile.python-applet: Need to define APPLET_NAME and APPLET_MAIN_FILE (the file which contains the applet initializing function).

* Makefile.vala-applet: Need to define APPLET_NAME and VALA_FILES. See src/vala-test/Makefile.am for an example.

* Makefile.desktop-files: Included in Makefile.c-applet, Makefile.python-applet, and Makefile.vala-applet. Optional variable: APPLET_ICONS (see Roadmap).

* Makefile.schemas: Generates gconf schema files (if config backend is gconf) and installs config schema file(s).

Roadmap

* Install python applets into $PREFIX/share/avant-window-navigator/applets/python/$APPLET_NAME

* Install desktop files into $PREFIX/share/avant-window-navigator/applets/metadata/

* Split the icon install code into its own Makefile, following the App-specific icon theme spec.

* Declare the C/Vala/Python install locations in configure.ac and then use AC_OUTPUT to put the specific install directory into the desktop files.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Low
Drafter:
Mark Lee
Direction:
Approved
Assignee:
Mark Lee
Definition:
Approved
Series goal:
Proposed for 0.2
Implementation:
Implemented
Milestone target:
milestone icon 0.2.8
Started by
Andrew Starr-Bochicchio on 2008-01-30
Completed by
Mark Lee on 2009-04-12

Whiteboard

02/07/2008 - gilir
I'll prepare a branch to test implementation.

This is from: http://awn.planetblur.org/?action=g_reply&ID=1538

There have been some questions about the build system recently, and I though it would be a good idea to file an official blue print to direct people to.

----
I'm marking this as completed, as this encompasses a lot of different things. I'll file some new blueprints which detail smaller tasks that should be addressed. (malept, 20090412)

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.