Added a bare-bones Makefile to build the enhanced disassembly
library as a static and a shared library. Added dependencies so the target-specific enhanced disassembly info tables are built before the library. llvm-svn: 94780
This commit is contained in:
		
							parent
							
								
									9d1e666af0
								
							
						
					
					
						commit
						2444ed4fea
					
				| 
						 | 
				
			
			@ -21,7 +21,8 @@ PARALLEL_DIRS := opt llvm-as llvm-dis \
 | 
			
		|||
                 llvm-ld llvm-prof llvm-link \
 | 
			
		||||
                 lli llvm-extract \
 | 
			
		||||
                 bugpoint llvm-bcanalyzer llvm-stub \
 | 
			
		||||
                 llvm-mc llvmc
 | 
			
		||||
                 llvm-mc llvmc \
 | 
			
		||||
                 ed
 | 
			
		||||
 | 
			
		||||
# Let users override the set of tools to build from the command line.
 | 
			
		||||
ifdef ONLY_TOOLS
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,20 @@
 | 
			
		|||
//===-EDMain.cpp - LLVM Enhanced Disassembly C API ------------------------===//
 | 
			
		||||
//
 | 
			
		||||
//                     The LLVM Compiler Infrastructure
 | 
			
		||||
//
 | 
			
		||||
// This file is distributed under the University of Illinois Open Source
 | 
			
		||||
// License. See LICENSE.TXT for details.
 | 
			
		||||
// 
 | 
			
		||||
//===----------------------------------------------------------------------===//
 | 
			
		||||
//
 | 
			
		||||
// This file implements the enhanced disassembler's public C API.
 | 
			
		||||
//
 | 
			
		||||
//===----------------------------------------------------------------------===//
 | 
			
		||||
 | 
			
		||||
#include <llvm-c/EnhancedDisassembly.h>
 | 
			
		||||
 | 
			
		||||
int EDGetDisassembler(EDDisassemblerRef *disassembler,
 | 
			
		||||
                      const char *triple,
 | 
			
		||||
                      EDAssemblySyntax_t syntax) {
 | 
			
		||||
  return -1;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,31 @@
 | 
			
		|||
_EDGetDisassembler
 | 
			
		||||
_EDGetRegisterName
 | 
			
		||||
_EDRegisterIsStackPointer
 | 
			
		||||
_EDRegisterIsProgramCounter
 | 
			
		||||
_EDCreateInsts
 | 
			
		||||
_EDReleaseInst
 | 
			
		||||
_EDInstByteSize
 | 
			
		||||
_EDGetInstString
 | 
			
		||||
_EDInstIsBranch
 | 
			
		||||
_EDInstIsMove
 | 
			
		||||
_EDBranchTargetID
 | 
			
		||||
_EDMoveSourceID
 | 
			
		||||
_EDMoveTargetID
 | 
			
		||||
_EDNumTokens
 | 
			
		||||
_EDGetToken
 | 
			
		||||
_EDGetTokenString
 | 
			
		||||
_EDOperandIndexForToken
 | 
			
		||||
_EDTokenIsWhitespace
 | 
			
		||||
_EDTokenIsPunctuation
 | 
			
		||||
_EDTokenIsOpcode
 | 
			
		||||
_EDTokenIsLiteral
 | 
			
		||||
_EDTokenIsRegister
 | 
			
		||||
_EDTokenIsNegativeLiteral
 | 
			
		||||
_EDLiteralTokenAbsoluteValue
 | 
			
		||||
_EDRegisterTokenValue
 | 
			
		||||
_EDNumOperands
 | 
			
		||||
_EDGetOperand
 | 
			
		||||
_EDEvaluateOperand
 | 
			
		||||
_EDBlockCreateInsts
 | 
			
		||||
_EDBlockEvaluateOperand
 | 
			
		||||
_EDBlockVisitTokens
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,55 @@
 | 
			
		|||
##===- tools/ed/Makefile -----------------------------------*- Makefile -*-===##
 | 
			
		||||
# 
 | 
			
		||||
#                     The LLVM Compiler Infrastructure
 | 
			
		||||
#
 | 
			
		||||
# This file is distributed under the University of Illinois Open Source
 | 
			
		||||
# License. See LICENSE.TXT for details.
 | 
			
		||||
# 
 | 
			
		||||
##===----------------------------------------------------------------------===##
 | 
			
		||||
 | 
			
		||||
LEVEL = ../..
 | 
			
		||||
LIBRARYNAME = EnhancedDisassembly
 | 
			
		||||
 | 
			
		||||
BUILT_SOURCES = EDInfo.inc
 | 
			
		||||
 | 
			
		||||
# Include this here so we can get the configuration of the targets
 | 
			
		||||
# that have been configured for construction. We have to do this 
 | 
			
		||||
# early so we can set up LINK_COMPONENTS before including Makefile.rules
 | 
			
		||||
include $(LEVEL)/Makefile.config
 | 
			
		||||
 | 
			
		||||
LINK_LIBS_IN_SHARED = 1
 | 
			
		||||
SHARED_LIBRARY = 1
 | 
			
		||||
 | 
			
		||||
LINK_COMPONENTS := $(TARGETS_TO_BUILD) x86asmprinter x86disassembler
 | 
			
		||||
 | 
			
		||||
include $(LEVEL)/Makefile.common
 | 
			
		||||
 | 
			
		||||
ifeq ($(HOST_OS),Darwin)
 | 
			
		||||
    # set dylib internal version number to llvmCore submission number
 | 
			
		||||
    ifdef LLVM_SUBMIT_VERSION
 | 
			
		||||
        LLVMLibsOptions := $(LLVMLibsOptions) -Wl,-current_version \
 | 
			
		||||
                        -Wl,$(LLVM_SUBMIT_VERSION).$(LLVM_SUBMIT_SUBVERSION) \
 | 
			
		||||
                        -Wl,-compatibility_version -Wl,1
 | 
			
		||||
    endif
 | 
			
		||||
    # extra options to override libtool defaults 
 | 
			
		||||
    LLVMLibsOptions    := $(LLVMLibsOptions)  \
 | 
			
		||||
                         -avoid-version \
 | 
			
		||||
                         -Wl,-exported_symbols_list -Wl,$(PROJ_SRC_DIR)/EnhancedDisassembly.exports \
 | 
			
		||||
                         -Wl,-dead_strip \
 | 
			
		||||
                         -Wl,-seg1addr -Wl,0xE0000000 
 | 
			
		||||
 | 
			
		||||
    # Mac OS X 10.4 and earlier tools do not allow a second -install_name on command line
 | 
			
		||||
    DARWIN_VERS := $(shell echo $(TARGET_TRIPLE) | sed 's/.*darwin\([0-9]*\).*/\1/')
 | 
			
		||||
    ifneq ($(DARWIN_VERS),8)
 | 
			
		||||
       LLVMLibsOptions    := $(LLVMLibsOptions)  \
 | 
			
		||||
                            -no-undefined -Wl,-install_name \
 | 
			
		||||
                            -Wl,"@executable_path/../lib/lib$(LIBRARYNAME)$(SHLIBEXT)"
 | 
			
		||||
    endif
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
EDInfo.inc:	$(TBLGEN)
 | 
			
		||||
	$(Echo) "Building semantic information header"
 | 
			
		||||
	$(Verb) $(TableGen) -o $(call SYSPATH, $@) -gen-enhanced-disassembly-header /dev/null
 | 
			
		||||
 | 
			
		||||
clean::
 | 
			
		||||
	-$(Verb) $(RM) -f EDInfo.inc
 | 
			
		||||
		Loading…
	
		Reference in New Issue