How to integrate ModulePass into LLVM? - clang

I need to integrate ModulePass into LLVM(3.4) after all Module Passes.
How can I do this correctly?

I think PassManagerBuilder::populateModulePassManager (doc | source) is the proper place to add a module pass - just add it at the end there.

This Github project has up-to-date samples of using LLVM & Clang, and it should build with recent releases like 3.4. The project contains a number of samples of using LLVM passes and adding new ones; check it out.
Specifically, there's a simple sample of writing a custom module pass and running it on a module here.

Related

How to include libsignal-protocol-c in my Swift iOS app?

I would like to write something like import SignalProtocol at the top of one of my Swift files and then be able to call the C functions from libsignal-protocol-c.
libsignal-protocol-c's README says: "When integrating into actual applications, you should not need anything beyond CMake. Alternatively, you may integrate the code using a build system of your choice."
I think I'd like to use the Swift Package Manager to integrate libsignal-protocol-c into my Swift iOS app. Is there a way to automatically generate a manifest file, ie, Package.swift, and a module map, ie, a module.modulemap file, from libsignal-protocol-c's CMake files? Or if I need to create these files manually, what should they include? Otherwise, how would I do this with CMake?
How to import and use libsignal-protocol-c in an existing .xcodeProj? is a similar question but for Objective-C projects.
I'm not sure its an answer but I'm going to start using https://github.com/christophhagen/LibSignalProtocolSwift. Seems like a good start.

Using a modified PDFTron Tools Framework

I'm working on a iOS Framework (using CocoaPods) that, as of today, uses PDFNet.framework as its only dependency.
Everything works as expected when I use the resulting framework in another "top level" project.
Now I'm trying to make this same Framework use the Tools.framework, as I intend to use the annotations from the Tools library.
Is there a common approach in doing so?
I've tried building the Tools source code but it fails as the dependency isn't found.
Everything you need should be in the following guide.
https://blog.pdftron.com/2016/11/14/getting-started-with-pdfnet-for-ios/
If that guide does not help, then please answer my comment above.

How do I use Faust2Juce to convert faust.dsp to Jucer Project?

How do I use Faust2Juce to convert faust.dsp to Jucer Project?
Faust creates its code and UI from its own functional language , how do I continuously integrate to JUCE project?
After installing the faust compiler you can use within terminal:
faust2juce -standalone "Example.dsp"
...to get a standalone project.
faust2juce --help
Will give you a more extensive list of commands.
Alternatively use the online compiler, set the architecture to JUCE and then you can download the exec file (a producer project) from there.
Here is a github link to the architecture for more info.

adding opencv to cmake --help-module

I like the help which is provided by --help-module. Here you can read how to add new libraries and which variables are being set. Because I only occasionally create a framework from scratch I only add libraries once and forget how to add them for the next time.
So, if I want to create a new project I only have to make a quick search with --help-module and the package I want to use. Unfortunately OpenCV is not in this list. So, I am curious if there is a way to add a help for Opencv?
TLTR; I want to add a help for OpenCV. Where I can refresh my mind on how to find opencv and how link against it etc.
I doubt this can be done.
The help module is generated from the RST CMake documentation. You are not supposed to add it there. It should be part of the documentation from the project which provides the module.

creating createM3FromEclipseProject in Rascal creates no data

I'm new to Rascal and have a very very basic question.
I'm using in a little test project the follwing command :
createM3FromEclipseProject(|project://example-project|);
and uses the code to extract data from a project
It only gives my {}... I assume that means that my M3 model is empty.
What am I doing wrong? It has to be something really basic..
Greets
Doerak
Have you followed the recipe in http://tutor.rascal-mpl.org/Recipes/Recipes.html#/Recipes/Metrics/MeasuringJava/MeasuringJava.html ?
If no: then please do because that example code is tested.
If yes, then it means there is no data in your project. This can be caused by:
there really is no code in your project. This can be remedied :-)
or the source path of the example project (with the Java code) is not configured to point to the place where you have your Java code. This can be fixed in the properties pane (right-click on the project and its the bottom option). From there on, find help on managing Eclipse projects on stackoverflow.com.

Resources