mirror of https://github.com/llvm/circt.git
[CAPI] Add circt-capi target and build it in CI (#7017)
Add a `circt-capi` target that depends on all C API libraries. Introduce a new `add_circt_public_c_api_library` CMake function that wraps around the MLIR equivalent, but also adds a dependency from `circt-capi`. Make at least the short integration tests CI job build the `circt-capi` target to ensure it has a bit of CI coverage.
This commit is contained in:
parent
1a311bbc32
commit
719bbfde79
|
@ -93,7 +93,7 @@ jobs:
|
||||||
-DCIRCT_SLANG_FRONTEND_ENABLED=ON
|
-DCIRCT_SLANG_FRONTEND_ENABLED=ON
|
||||||
- name: Test CIRCT
|
- name: Test CIRCT
|
||||||
run: |
|
run: |
|
||||||
ninja -C build check-circt -j$(nproc)
|
ninja -C build check-circt circt-capi -j$(nproc)
|
||||||
- name: Unit Test CIRCT
|
- name: Unit Test CIRCT
|
||||||
run: |
|
run: |
|
||||||
ninja -C build check-circt-unit -j$(nproc)
|
ninja -C build check-circt-unit -j$(nproc)
|
||||||
|
|
|
@ -196,6 +196,9 @@ add_custom_target(circt-headers)
|
||||||
set_target_properties(circt-headers PROPERTIES FOLDER "Misc")
|
set_target_properties(circt-headers PROPERTIES FOLDER "Misc")
|
||||||
add_custom_target(circt-doc)
|
add_custom_target(circt-doc)
|
||||||
|
|
||||||
|
# Umbrella target that builds all C API bindings.
|
||||||
|
add_custom_target(circt-capi)
|
||||||
|
|
||||||
# Add MLIR and LLVM headers to the include path
|
# Add MLIR and LLVM headers to the include path
|
||||||
include_directories(${LLVM_INCLUDE_DIRS})
|
include_directories(${LLVM_INCLUDE_DIRS})
|
||||||
include_directories(${MLIR_INCLUDE_DIRS})
|
include_directories(${MLIR_INCLUDE_DIRS})
|
||||||
|
|
|
@ -10,6 +10,11 @@ function(add_circt_interface interface)
|
||||||
add_dependencies(circt-headers MLIR${interface}IncGen)
|
add_dependencies(circt-headers MLIR${interface}IncGen)
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
function(add_circt_public_c_api_library name)
|
||||||
|
add_mlir_public_c_api_library(${ARGV})
|
||||||
|
add_dependencies(circt-capi ${name})
|
||||||
|
endfunction()
|
||||||
|
|
||||||
# Additional parameters are forwarded to tablegen.
|
# Additional parameters are forwarded to tablegen.
|
||||||
function(add_circt_doc tablegen_file output_path command)
|
function(add_circt_doc tablegen_file output_path command)
|
||||||
set(LLVM_TARGET_DEFINITIONS ${tablegen_file}.td)
|
set(LLVM_TARGET_DEFINITIONS ${tablegen_file}.td)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
add_mlir_public_c_api_library(CIRCTCAPIConversion
|
add_circt_public_c_api_library(CIRCTCAPIConversion
|
||||||
Passes.cpp
|
Passes.cpp
|
||||||
|
|
||||||
LINK_LIBS PUBLIC
|
LINK_LIBS PUBLIC
|
||||||
|
|
|
@ -20,7 +20,7 @@ set(LLVM_OPTIONAL_SOURCES
|
||||||
Verif.cpp
|
Verif.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
add_mlir_public_c_api_library(CIRCTCAPIComb
|
add_circt_public_c_api_library(CIRCTCAPIComb
|
||||||
Comb.cpp
|
Comb.cpp
|
||||||
|
|
||||||
LINK_LIBS PUBLIC
|
LINK_LIBS PUBLIC
|
||||||
|
@ -29,7 +29,7 @@ add_mlir_public_c_api_library(CIRCTCAPIComb
|
||||||
CIRCTCombTransforms
|
CIRCTCombTransforms
|
||||||
)
|
)
|
||||||
|
|
||||||
add_mlir_public_c_api_library(CIRCTCAPIDebug
|
add_circt_public_c_api_library(CIRCTCAPIDebug
|
||||||
Debug.cpp
|
Debug.cpp
|
||||||
|
|
||||||
LINK_LIBS PUBLIC
|
LINK_LIBS PUBLIC
|
||||||
|
@ -37,7 +37,7 @@ add_mlir_public_c_api_library(CIRCTCAPIDebug
|
||||||
CIRCTDebug
|
CIRCTDebug
|
||||||
)
|
)
|
||||||
|
|
||||||
add_mlir_public_c_api_library(CIRCTCAPIESI
|
add_circt_public_c_api_library(CIRCTCAPIESI
|
||||||
ESI.cpp
|
ESI.cpp
|
||||||
|
|
||||||
LINK_LIBS PUBLIC
|
LINK_LIBS PUBLIC
|
||||||
|
@ -45,7 +45,7 @@ add_mlir_public_c_api_library(CIRCTCAPIESI
|
||||||
CIRCTESI
|
CIRCTESI
|
||||||
)
|
)
|
||||||
|
|
||||||
add_mlir_public_c_api_library(CIRCTCAPIFIRRTL
|
add_circt_public_c_api_library(CIRCTCAPIFIRRTL
|
||||||
FIRRTL.cpp
|
FIRRTL.cpp
|
||||||
|
|
||||||
LINK_LIBS PUBLIC
|
LINK_LIBS PUBLIC
|
||||||
|
@ -54,7 +54,7 @@ add_mlir_public_c_api_library(CIRCTCAPIFIRRTL
|
||||||
CIRCTImportFIRFile
|
CIRCTImportFIRFile
|
||||||
)
|
)
|
||||||
|
|
||||||
add_mlir_public_c_api_library(CIRCTCAPICHIRRTL
|
add_circt_public_c_api_library(CIRCTCAPICHIRRTL
|
||||||
CHIRRTL.cpp
|
CHIRRTL.cpp
|
||||||
|
|
||||||
LINK_LIBS PUBLIC
|
LINK_LIBS PUBLIC
|
||||||
|
@ -62,7 +62,7 @@ add_mlir_public_c_api_library(CIRCTCAPICHIRRTL
|
||||||
CIRCTFIRRTL
|
CIRCTFIRRTL
|
||||||
)
|
)
|
||||||
|
|
||||||
add_mlir_public_c_api_library(CIRCTCAPIMSFT
|
add_circt_public_c_api_library(CIRCTCAPIMSFT
|
||||||
MSFT.cpp
|
MSFT.cpp
|
||||||
|
|
||||||
DEPENDS
|
DEPENDS
|
||||||
|
@ -75,7 +75,7 @@ add_mlir_public_c_api_library(CIRCTCAPIMSFT
|
||||||
CIRCTMSFTTransforms
|
CIRCTMSFTTransforms
|
||||||
)
|
)
|
||||||
|
|
||||||
add_mlir_public_c_api_library(CIRCTCAPIHW
|
add_circt_public_c_api_library(CIRCTCAPIHW
|
||||||
HW.cpp
|
HW.cpp
|
||||||
|
|
||||||
LINK_LIBS PUBLIC
|
LINK_LIBS PUBLIC
|
||||||
|
@ -83,7 +83,7 @@ add_mlir_public_c_api_library(CIRCTCAPIHW
|
||||||
CIRCTHW
|
CIRCTHW
|
||||||
)
|
)
|
||||||
|
|
||||||
add_mlir_public_c_api_library(CIRCTCAPILLHD
|
add_circt_public_c_api_library(CIRCTCAPILLHD
|
||||||
LLHD.cpp
|
LLHD.cpp
|
||||||
|
|
||||||
LINK_LIBS PUBLIC
|
LINK_LIBS PUBLIC
|
||||||
|
@ -91,7 +91,7 @@ add_mlir_public_c_api_library(CIRCTCAPILLHD
|
||||||
CIRCTLLHD
|
CIRCTLLHD
|
||||||
)
|
)
|
||||||
|
|
||||||
add_mlir_public_c_api_library(CIRCTCAPIMoore
|
add_circt_public_c_api_library(CIRCTCAPIMoore
|
||||||
Moore.cpp
|
Moore.cpp
|
||||||
|
|
||||||
LINK_LIBS PUBLIC
|
LINK_LIBS PUBLIC
|
||||||
|
@ -99,7 +99,7 @@ add_mlir_public_c_api_library(CIRCTCAPIMoore
|
||||||
CIRCTMoore
|
CIRCTMoore
|
||||||
)
|
)
|
||||||
|
|
||||||
add_mlir_public_c_api_library(CIRCTCAPIOM
|
add_circt_public_c_api_library(CIRCTCAPIOM
|
||||||
OM.cpp
|
OM.cpp
|
||||||
|
|
||||||
LINK_LIBS PUBLIC
|
LINK_LIBS PUBLIC
|
||||||
|
@ -108,7 +108,7 @@ add_mlir_public_c_api_library(CIRCTCAPIOM
|
||||||
CIRCTOMEvaluator
|
CIRCTOMEvaluator
|
||||||
)
|
)
|
||||||
|
|
||||||
add_mlir_public_c_api_library(CIRCTCAPISeq
|
add_circt_public_c_api_library(CIRCTCAPISeq
|
||||||
Seq.cpp
|
Seq.cpp
|
||||||
|
|
||||||
LINK_LIBS PUBLIC
|
LINK_LIBS PUBLIC
|
||||||
|
@ -117,7 +117,7 @@ add_mlir_public_c_api_library(CIRCTCAPISeq
|
||||||
CIRCTSeqTransforms
|
CIRCTSeqTransforms
|
||||||
)
|
)
|
||||||
|
|
||||||
add_mlir_public_c_api_library(CIRCTCAPISV
|
add_circt_public_c_api_library(CIRCTCAPISV
|
||||||
SV.cpp
|
SV.cpp
|
||||||
|
|
||||||
LINK_LIBS PUBLIC
|
LINK_LIBS PUBLIC
|
||||||
|
@ -126,7 +126,7 @@ add_mlir_public_c_api_library(CIRCTCAPISV
|
||||||
CIRCTSVTransforms
|
CIRCTSVTransforms
|
||||||
)
|
)
|
||||||
|
|
||||||
add_mlir_public_c_api_library(CIRCTCAPIFSM
|
add_circt_public_c_api_library(CIRCTCAPIFSM
|
||||||
FSM.cpp
|
FSM.cpp
|
||||||
|
|
||||||
DEPENDS
|
DEPENDS
|
||||||
|
@ -139,7 +139,7 @@ add_mlir_public_c_api_library(CIRCTCAPIFSM
|
||||||
CIRCTFSMToSV
|
CIRCTFSMToSV
|
||||||
)
|
)
|
||||||
|
|
||||||
add_mlir_public_c_api_library(CIRCTCAPIHandshake
|
add_circt_public_c_api_library(CIRCTCAPIHandshake
|
||||||
Handshake.cpp
|
Handshake.cpp
|
||||||
|
|
||||||
LINK_LIBS PUBLIC
|
LINK_LIBS PUBLIC
|
||||||
|
@ -150,7 +150,7 @@ add_mlir_public_c_api_library(CIRCTCAPIHandshake
|
||||||
CIRCTCFToHandshake
|
CIRCTCFToHandshake
|
||||||
)
|
)
|
||||||
|
|
||||||
add_mlir_public_c_api_library(CIRCTCAPIHWArith
|
add_circt_public_c_api_library(CIRCTCAPIHWArith
|
||||||
HWArith.cpp
|
HWArith.cpp
|
||||||
|
|
||||||
LINK_LIBS PUBLIC
|
LINK_LIBS PUBLIC
|
||||||
|
@ -159,7 +159,7 @@ add_mlir_public_c_api_library(CIRCTCAPIHWArith
|
||||||
CIRCTHWArithToHW
|
CIRCTHWArithToHW
|
||||||
)
|
)
|
||||||
|
|
||||||
add_mlir_public_c_api_library(CIRCTCAPIVerif
|
add_circt_public_c_api_library(CIRCTCAPIVerif
|
||||||
Verif.cpp
|
Verif.cpp
|
||||||
|
|
||||||
LINK_LIBS PUBLIC
|
LINK_LIBS PUBLIC
|
||||||
|
@ -168,7 +168,7 @@ add_mlir_public_c_api_library(CIRCTCAPIVerif
|
||||||
CIRCTVerifToSV
|
CIRCTVerifToSV
|
||||||
)
|
)
|
||||||
|
|
||||||
add_mlir_public_c_api_library(CIRCTCAPILTL
|
add_circt_public_c_api_library(CIRCTCAPILTL
|
||||||
LTL.cpp
|
LTL.cpp
|
||||||
|
|
||||||
LINK_LIBS PUBLIC
|
LINK_LIBS PUBLIC
|
||||||
|
@ -176,7 +176,7 @@ add_mlir_public_c_api_library(CIRCTCAPILTL
|
||||||
CIRCTLTL
|
CIRCTLTL
|
||||||
)
|
)
|
||||||
|
|
||||||
add_mlir_public_c_api_library(CIRCTCAPIEmit
|
add_circt_public_c_api_library(CIRCTCAPIEmit
|
||||||
Emit.cpp
|
Emit.cpp
|
||||||
|
|
||||||
LINK_LIBS PUBLIC
|
LINK_LIBS PUBLIC
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
add_mlir_public_c_api_library(CIRCTCAPIExportFIRRTL
|
add_circt_public_c_api_library(CIRCTCAPIExportFIRRTL
|
||||||
ExportFIRRTL.cpp
|
ExportFIRRTL.cpp
|
||||||
|
|
||||||
LINK_LIBS PUBLIC
|
LINK_LIBS PUBLIC
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
add_mlir_public_c_api_library(CIRCTCAPIExportVerilog
|
add_circt_public_c_api_library(CIRCTCAPIExportVerilog
|
||||||
ExportVerilog.cpp
|
ExportVerilog.cpp
|
||||||
|
|
||||||
LINK_LIBS PUBLIC
|
LINK_LIBS PUBLIC
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
add_mlir_public_c_api_library(CIRCTCAPIFirtool
|
add_circt_public_c_api_library(CIRCTCAPIFirtool
|
||||||
Firtool.cpp
|
Firtool.cpp
|
||||||
|
|
||||||
LINK_LIBS PUBLIC
|
LINK_LIBS PUBLIC
|
||||||
|
|
Loading…
Reference in New Issue