Hi, Hans Breuer <hans@xxxxxxxxxx> writes: > app/config calls > gimp_thumbnail_size_get_type() > gimp_preview_size_get_type() > gimp_image_base_type_get_type() > gimp_cursor_mode_get_type() > gimp_help_browser_type_get_type() > implemented by app/core/core-enums.c and > gimp_unit_get_identifier() > implemented elsewhere. > So you need to build app/core before app/config and app/base, while > app/base needs app/config to build and app/core needs app/base ... > > Another concrete small example: > > app/vectors implements GimpVectors which is derived form GimpItem > implemented in app/core/gimpitem.c. > app/core/gimpitem.c:gimp_item_name_changed uses the 'dynamic cast' > GIMP_IS_VECTORS(item) which is implemented by > app/vectors/gimpvectors.c:gimp_vectors_get_type(). > > So to build app/core you need app/vectors build first - and vice versa. all this is in the core and there's no need to build libraries in the different subdirectories of app. There's just one executable built here and thus circular dependencies between the different subdirectories are IMHO tolerable. In some cases they are even unavoidable (or only avoidable with unreasonable effort). I don't see why you are trying to build DLLs here at all. The Unix build doesn't create dynamic libaries in app neither. Salut, Sven