Skip to content

Commit 4ef2bca

Browse files
committed
Move DDR to a top-level project
Build DDR as part of OMR. Use standard OMR configuration. Move the DDR libraries from src to lib/$libname Move the DDR tools from src to tools/$toolname Move headers to include/ddr/ include headers by their full path "ddr/*.hpp" Capitalize Makefile names Signed-off-by: Robert Young <rwy0717@gmail.com>
1 parent 8189739 commit 4ef2bca

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+278
-973
lines changed

tools/ddrgen/makefile ddr/Makefile

+31-20
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
###############################################################################
22
#
3-
# (c) Copyright IBM Corp. 2015, 2016
3+
# (c) Copyright IBM Corp. 2015, 2017
44
#
55
# This program and the accompanying materials are made available
66
# under the terms of the Eclipse Public License v1.0 and
@@ -16,12 +16,13 @@
1616
# Multiple authors (IBM Corp.) - initial implementation and documentation
1717
###############################################################################
1818

19-
top_srcdir := ../..
20-
VPATH := ../..
21-
include $(top_srcdir)/tools/toolconfigure.mk
19+
top_srcdir := ..
20+
include $(top_srcdir)/omrmakefiles/configure.mk
2221

2322
.DEFAULT_GOAL := all
2423

24+
OMR_TOOLCHAIN ?= gcc
25+
2526
ifneq (,$(filter gcc xlc,$(OMR_TOOLCHAIN)))
2627
DEBUG_FORMAT = dwo
2728
else ifeq (msvc,$(OMR_TOOLCHAIN))
@@ -34,32 +35,42 @@ endif
3435
export DEBUG_FORMAT
3536

3637
targets = \
37-
src/intermediate_representation \
38-
src/macros \
39-
src/cmdline_tool \
40-
src/blob_reader \
41-
src/blob_generation/java \
42-
test
43-
44-
ifneq (,$(findstring pdb,$(DEBUG_FORMAT)))
45-
targets += src/scanners/pdb
46-
src/cmdline_tool: src/scanners/pdb src/intermediate_representation src/macros src/blob_generation/java
47-
endif
48-
49-
ifneq (,$(findstring dwo,$(DEBUG_FORMAT)))
50-
targets += src/scanners/dwarf
51-
src/cmdline_tool: src/scanners/dwarf src/intermediate_representation src/macros src/blob_generation/java
52-
endif
38+
lib \
39+
test \
40+
tools
5341

5442
all: $(targets)
5543

5644
$(targets):
5745
$(MAKE) -C $@ all
5846
.PHONY: $(targets)
5947

48+
tools: lib
49+
test: tools lib
50+
6051
targets_clean := $(addsuffix _clean,$(targets))
6152
clean: $(targets_clean)
6253
$(targets_clean)::
6354
$(MAKE) -C $(patsubst %_clean,%,$@) clean
6455
.PHONY: $(targets_clean)
6556

57+
### TODO: What is this gross magic?
58+
ifeq (0,1)
59+
# omr_srcdir = path to top of OMR source tree
60+
omr_srcdir ?= $(ddrgen_topdir)/../..
61+
62+
# ddrgen_topdir = path to top of DDR source tree
63+
ddrgen_srcdir = $(ddrgen_topdir)/src
64+
65+
# set top_srcdir as required by omr makefiles
66+
top_srcdir = $(abspath $(omr_srcdir))
67+
include $(top_srcdir)/omrmakefiles/configure.mk
68+
69+
ifeq (gcc,$(OMR_TOOLCHAIN))
70+
# ddrgen uses rtti
71+
MODULE_CXXFLAGS += -frtti -D__STDC_LIMIT_MACROS -std=c++0x
72+
endif
73+
ifeq (msvc,$(OMR_TOOLCHAIN))
74+
MODULE_CXXFLAGS += /EHsc
75+
endif
76+
endif

tools/ddrgen/src/blob_generation/java/makefile ddr/lib/Makefile

+18-11
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,25 @@
1616
# Multiple authors (IBM Corp.) - initial implementation and documentation
1717
###############################################################################
1818

19-
ddrgen_topdir = ../../..
20-
include $(ddrgen_topdir)/config/ddrgencfg.mk
19+
top_srcdir := ../..
20+
include $(top_srcdir)/omrmakefiles/configure.mk
2121

22-
MODULE_NAME := genBlob
23-
ARTIFACT_TYPE := archive
22+
.DEFAULT_GOAL := all
2423

25-
MODULE_INCLUDES += \
26-
$(ddrgen_srcdir)/blob_generation \
27-
$(ddrgen_srcdir)/intermediate_representation \
28-
$(ddrgen_srcdir)/scanners \
29-
$(ddrgen_srcdir)
24+
targets = \
25+
blobgen \
26+
ir \
27+
macros \
28+
scanner
3029

31-
OBJECTS = $(patsubst %.cpp,%$(OBJEXT),$(wildcard *.cpp))
30+
all: $(targets)
3231

33-
include $(top_srcdir)/omrmakefiles/rules.mk
32+
$(targets):
33+
$(MAKE) -C $@ all
34+
.PHONY: $(targets)
35+
36+
targets_clean := $(addsuffix _clean,$(targets))
37+
clean: $(targets_clean)
38+
$(targets_clean)::
39+
$(MAKE) -C $(patsubst %_clean,%,$@) clean
40+
.PHONY: $(targets_clean)

tools/ddrgen/src/scanners/pdb/makefile ddr/lib/blobgen/Makefile

+18-12
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,28 @@
1515
# Contributors:
1616
# Multiple authors (IBM Corp.) - initial implementation and documentation
1717
###############################################################################
18-
ddrgen_topdir = ../../..
19-
include $(ddrgen_topdir)/config/ddrgencfg.mk
2018

21-
MODULE_NAME := scanner
19+
top_srcdir=../../..
20+
include $(top_srcdir)/omrmakefiles/configure.mk
21+
22+
MODULE_NAME := blobgen
2223
ARTIFACT_TYPE := archive
2324

24-
OBJECTS = \
25-
PdbScanner.obj
25+
MODULE_INCLUDES := \
26+
$(top_srcdir)/ddr/include \
27+
$(top_srcdir)/include_core
28+
29+
ifeq (gcc,$(OMR_TOOLCHAIN))
30+
MODULE_CXXFLAGS += -frtti -D__STDC_LIMIT_MACROS -std=c++0x
31+
endif
2632

27-
MODULE_INCLUDES = \
28-
$(ddrgen_srcdir)/scanners \
29-
$(ddrgen_srcdir)/intermediate_representation \
30-
$(ddrgen_srcdir)/blob_generation \
31-
$(ddrgen_srcdir)/scanners/pdb/DIA-SDK/include \
32-
$(ddrgen_srcdir)
33+
ifeq (msvc,$(OMR_TOOLCHAIN))
34+
MODULE_CXXFLAGS += /EHsc
35+
endif
3336

34-
MODULE_STATIC_LIBS += diaguids.lib
37+
OBJECTS := \
38+
java/genBinaryBlob$(OBJEXT) \
39+
java/genBlobJava$(OBJEXT) \
40+
java/genSuperset$(OBJEXT)
3541

3642
include $(top_srcdir)/omrmakefiles/rules.mk

tools/ddrgen/src/blob_generation/java/genBinaryBlob.cpp ddr/lib/blobgen/java/genBinaryBlob.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
#define __STDC_LIMIT_MACROS
2222
#endif /* defined(J9ZOS390) */
2323

24-
#include "genBinaryBlob.hpp"
24+
#include "ddr/blobgen/java/genBinaryBlob.hpp"
2525

2626
#undef NDEBUG
2727
#include <assert.h>

tools/ddrgen/src/IR/ClassType.cpp ddr/lib/ir/ClassType.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@
1616
* Multiple authors (IBM Corp.) - initial implementation and documentation
1717
*******************************************************************************/
1818

19-
#include "ClassType.hpp"
19+
#include "ddr/ir/ClassType.hpp"
2020

21-
#include "config.hpp"
21+
#include "ddr/config.hpp"
2222

2323
ClassType::ClassType(SymbolType symbolType, size_t size, unsigned int lineNumber)
2424
: NamespaceUDT(lineNumber)

tools/ddrgen/src/IR/ClassUDT.cpp ddr/lib/ir/ClassUDT.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
* Multiple authors (IBM Corp.) - initial implementation and documentation
1717
*******************************************************************************/
1818

19-
#include "ClassUDT.hpp"
19+
#include "ddr/ir/ClassUDT.hpp"
2020

2121
ClassUDT::ClassUDT(size_t size, bool isClass, unsigned int lineNumber)
2222
: ClassType(isClass ? CLASS : STRUCT, size, lineNumber), _superClass(NULL), _isClass(isClass)

tools/ddrgen/src/IR/EnumMember.cpp ddr/lib/ir/EnumMember.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
* Multiple authors (IBM Corp.) - initial implementation and documentation
1717
*******************************************************************************/
1818

19-
#include "EnumMember.hpp"
19+
#include "ddr/ir/EnumMember.hpp"
2020

2121
EnumMember::EnumMember()
2222
{

tools/ddrgen/src/IR/EnumUDT.cpp ddr/lib/ir/EnumUDT.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@
1616
* Multiple authors (IBM Corp.) - initial implementation and documentation
1717
*******************************************************************************/
1818

19-
#include "EnumUDT.hpp"
19+
#include "ddr/ir/EnumUDT.hpp"
2020

21-
#include "config.hpp"
21+
#include "ddr/config.hpp"
2222

2323
EnumUDT::EnumUDT(unsigned int lineNumber)
2424
: UDT(ENUM, 4, lineNumber)

tools/ddrgen/src/IR/Field.cpp ddr/lib/ir/Field.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@
1616
* Multiple authors (IBM Corp.) - initial implementation and documentation
1717
*******************************************************************************/
1818

19-
#include "Field.hpp"
19+
#include "ddr/ir/Field.hpp"
2020

2121
#include <stdlib.h>
2222

23-
#include "config.hpp"
24-
#include "TypedefUDT.hpp"
23+
#include "ddr/config.hpp"
24+
#include "ddr/ir/TypedefUDT.hpp"
2525

2626
Field::Field()
2727
: _fieldType(NULL),

tools/ddrgen/src/IR/Macro.cpp ddr/lib/ir/Macro.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
* Multiple authors (IBM Corp.) - initial implementation and documentation
1717
*******************************************************************************/
1818

19-
#include "Macro.hpp"
19+
#include "ddr/ir/Macro.hpp"
2020

2121
#include <sstream>
2222
#include <string.h>

tools/ddrgen/src/IR/makefile ddr/lib/ir/Makefile

+15-8
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,24 @@
1515
# Contributors:
1616
# Multiple authors (IBM Corp.) - initial implementation and documentation
1717
###############################################################################
18-
ddrgen_topdir = ../..
19-
include $(ddrgen_topdir)/config/ddrgencfg.mk
18+
top_srcdir = ../../..
19+
include $(top_srcdir)/omrmakefiles/configure.mk
2020

21-
MODULE_NAME := intermediate_representation
21+
MODULE_NAME := ir
2222
ARTIFACT_TYPE := archive
2323

24+
MODULE_INCLUDES += \
25+
$(top_srcdir)/ddr/include \
26+
$(top_srcdir)/include_core
27+
28+
ifeq (gcc,$(OMR_TOOLCHAIN))
29+
MODULE_CXXFLAGS += -frtti -D__STDC_LIMIT_MACROS -std=c++0x
30+
endif
31+
32+
ifeq (msvc,$(OMR_TOOLCHAIN))
33+
MODULE_CXXFLAGS += /EHsc
34+
endif
35+
2436
OBJECTS = \
2537
ClassUDT$(OBJEXT) \
2638
ClassType$(OBJEXT) \
@@ -37,9 +49,4 @@ OBJECTS = \
3749
UDT$(OBJEXT) \
3850
UnionUDT$(OBJEXT)
3951

40-
MODULE_INCLUDES += \
41-
$(ddrgen_srcdir) \
42-
$(ddrgen_srcdir)/scanners \
43-
$(ddrgen_srcdir)/blob_generation
44-
4552
include $(top_srcdir)/omrmakefiles/rules.mk

tools/ddrgen/src/IR/Members.cpp ddr/lib/ir/Members.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,6 @@
1616
* Multiple authors (IBM Corp.) - initial implementation and documentation
1717
*******************************************************************************/
1818

19-
#include "Members.hpp"
19+
#include "ddr/ir/Members.hpp"
2020

2121
Members::~Members() {};

tools/ddrgen/src/IR/Modifiers.cpp ddr/lib/ir/Modifiers.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818

1919
#include <stdlib.h>
2020

21-
#include "config.hpp"
22-
#include "Modifiers.hpp"
21+
#include "ddr/config.hpp"
22+
#include "ddr/ir/Modifiers.hpp"
2323

2424
using std::string;
2525
using std::vector;

tools/ddrgen/src/IR/NamespaceUDT.cpp ddr/lib/ir/NamespaceUDT.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
* Multiple authors (IBM Corp.) - initial implementation and documentation
1717
*******************************************************************************/
1818

19-
#include "NamespaceUDT.hpp"
19+
#include "ddr/ir/NamespaceUDT.hpp"
2020

2121
NamespaceUDT::NamespaceUDT(unsigned int lineNumber)
2222
: UDT(NAMESPACE, 0, lineNumber)

tools/ddrgen/src/IR/Symbol_IR.cpp ddr/lib/ir/Symbol_IR.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,17 @@
1616
* Multiple authors (IBM Corp.) - initial implementation and documentation
1717
*******************************************************************************/
1818

19-
#include "Symbol_IR.hpp"
19+
#include "ddr/ir/Symbol_IR.hpp"
2020

2121
#include <algorithm>
2222
#include <map>
2323
#include <stdlib.h>
2424
#include <string.h>
2525
#include <vector>
2626

27-
#include "ClassType.hpp"
28-
#include "config.hpp"
29-
#include "Field.hpp"
27+
#include "ddr/ir/ClassType.hpp"
28+
#include "ddr/config.hpp"
29+
#include "ddr/ir/Field.hpp"
3030

3131
using std::map;
3232

tools/ddrgen/src/IR/Type.cpp ddr/lib/ir/Type.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
* Multiple authors (IBM Corp.) - initial implementation and documentation
1717
*******************************************************************************/
1818

19-
#include "Type.hpp"
19+
#include "ddr/ir/Type.hpp"
2020

2121
Type::Type(SymbolType symbolType, size_t size)
2222
: _symbolType(symbolType), _sizeOf(size)

tools/ddrgen/src/IR/TypedefUDT.cpp ddr/lib/ir/TypedefUDT.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
* Multiple authors (IBM Corp.) - initial implementation and documentation
1717
*******************************************************************************/
1818

19-
#include "TypedefUDT.hpp"
19+
#include "ddr/ir/TypedefUDT.hpp"
2020

2121
TypedefUDT::TypedefUDT(unsigned int lineNumber)
2222
: UDT(TYPEDEF, 0, lineNumber), _type(NULL)

tools/ddrgen/src/IR/UDT.cpp ddr/lib/ir/UDT.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@
1616
* Multiple authors (IBM Corp.) - initial implementation and documentation
1717
*******************************************************************************/
1818

19-
#include "UDT.hpp"
19+
#include "ddr/ir/UDT.hpp"
2020

21-
#include "config.hpp"
21+
#include "ddr/config.hpp"
2222

2323
UDT::UDT(SymbolType symbolType, size_t size, unsigned int lineNumber)
2424
: Type(symbolType, size), _outerUDT(NULL), _lineNumber(lineNumber)

tools/ddrgen/src/IR/UnionUDT.cpp ddr/lib/ir/UnionUDT.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
* Multiple authors (IBM Corp.) - initial implementation and documentation
1717
*******************************************************************************/
1818

19-
#include "UnionUDT.hpp"
19+
#include "ddr/ir/UnionUDT.hpp"
2020

2121
UnionUDT::UnionUDT(size_t size, unsigned int lineNumber)
2222
: ClassType(UNION, size, lineNumber)

tools/ddrgen/src/macros/MacroInfo.cpp ddr/lib/macros/MacroInfo.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
* Multiple authors (IBM Corp.) - initial implementation and documentation
1717
*******************************************************************************/
1818

19-
#include "MacroInfo.hpp"
19+
#include "ddr/macros/MacroInfo.hpp"
2020

2121
MacroInfo::MacroInfo(string typeName)
2222
: _typeName(typeName)

tools/ddrgen/src/macros/MacroTool.cpp ddr/lib/macros/MacroTool.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@
2424
#include <unordered_map>
2525
#endif /* !defined(AIXPPC) && !defined(J9ZOS390) */
2626

27-
#include "MacroTool.hpp"
27+
#include "ddr/macros/MacroTool.hpp"
2828

2929
#include <fstream>
3030
#include <iostream>
3131
#include <set>
3232

33-
#include "NamespaceUDT.hpp"
33+
#include "ddr/ir/NamespaceUDT.hpp"
3434

3535
#if defined(AIXPPC) || defined(J9ZOS390)
3636
using std::tr1::unordered_map;

0 commit comments

Comments
 (0)