Skip to content

Commit

Permalink
use absolute paths for headers
Browse files Browse the repository at this point in the history
  • Loading branch information
Tom-Ski committed Jul 12, 2024
1 parent d5f8475 commit 5775351
Show file tree
Hide file tree
Showing 5 changed files with 37 additions and 40 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -81,13 +81,13 @@ public void compile () {

StringBuilder headerDirs = new StringBuilder();
for (String headerDir : target.headerDirs) {
headerDirs.append(convertPathToAbsolute(headerDir).getAbsolutePath());
headerDirs.append(convertToAbsoluteRelativeTo(config.projectDir, headerDir).getAbsolutePath());
headerDirs.append(" ");
}
headerDirs.append("jni-headers");
headerDirs.append(" jni-headers/" + target.os.getJniPlatform());
headerDirs.append(" jni-headers/" + "linux");
headerDirs.append(" .");
headerDirs.append(convertToAbsoluteRelativeTo(config.jniDir, "jni-headers"));
headerDirs.append(" " + convertToAbsoluteRelativeTo(config.jniDir, "jni-headers/" + target.os.getJniPlatform()));
headerDirs.append(" " + convertToAbsoluteRelativeTo(config.jniDir, "jni-headers/" + "linux"));
headerDirs.append(" " + convertToAbsoluteRelativeTo(config.jniDir, "."));

template = template.replace("%sharedLibName%", config.sharedLibName);
template = template.replace("%headerDirs%", headerDirs);
Expand All @@ -102,7 +102,7 @@ public void compile () {

ArrayList<String> args = new ArrayList<>();
args.add("NDK_PROJECT_PATH=" + buildDirectory.getAbsolutePath());
args.add("NDK_APPLICATION_MK =" + new File(buildDirectory, "Application.mk").getAbsolutePath());
args.add("NDK_APPLICATION_MK=" + new File(buildDirectory, "Application.mk").getAbsolutePath());
args.add("APP_BUILD_SCRIPT=" + new File(buildDirectory, "Android.mk").getAbsolutePath());
args.add("NDK_OUT=" + buildDirectory.getAbsolutePath());
args.add("NDK_LIBS_OUT=" + libsDirectory.getAbsolutePath());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import com.badlogic.gdx.jnigen.AntPathMatcher;
import com.badlogic.gdx.jnigen.BuildConfig;
import com.badlogic.gdx.jnigen.BuildTarget;
import com.badlogic.gdx.jnigen.FileDescriptor;
import com.badlogic.gdx.jnigen.build.RuntimeEnv;
import com.badlogic.gdx.jnigen.build.ToolchainExecutor;
import org.slf4j.Logger;
Expand All @@ -16,7 +17,6 @@
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;

public abstract class BaseToolchain {

Expand Down Expand Up @@ -208,13 +208,13 @@ public FileVisitResult postVisitDirectory (Path dir, IOException exc) {



protected File convertPathToAbsolute (String path) {
protected File convertToAbsoluteRelativeTo (FileDescriptor rootRelative, String path) {
//Path might be a relative path or an absolute, if its absolute just wrap, otherwise convert it to absolute
//based around our project directory

File file = new File(path);
if (!file.isAbsolute()) {
file = new File(config.projectDir.file(), path);
file = new File(rootRelative.file(), path);
} else {
file = file.getAbsoluteFile();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@

import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
Expand Down Expand Up @@ -60,12 +59,12 @@ private void compileC () {

List<String> args = new ArrayList<>();
args.addAll(stringFlagsToArgs(target.cFlags));
args.add("-Ijni-headers");
args.add("-Ijni-headers/" + target.os.getJniPlatform());
args.add("-I.");

args.add("-I" + convertToAbsoluteRelativeTo(config.jniDir, "jni-headers/"));
args.add("-I" + convertToAbsoluteRelativeTo(config.jniDir, "jni-headers/" + target.os.getJniPlatform()));
args.add("-I" + convertToAbsoluteRelativeTo(config.jniDir, "."));
for (String headerDir : target.headerDirs) {
args.add("-I" + convertPathToAbsolute(headerDir).getAbsolutePath());
args.add("-I" + convertToAbsoluteRelativeTo(config.projectDir, headerDir).getAbsolutePath());
}

ArrayList<String> perFileArgs = new ArrayList<String>();
Expand All @@ -92,12 +91,12 @@ private void compileCPP () {

List<String> args = new ArrayList<>();
args.addAll(stringFlagsToArgs(target.cppFlags));
args.add("-Ijni-headers/");
args.add("-Ijni-headers/" + target.os.getJniPlatform());
args.add("-I.");

args.add("-I" + convertToAbsoluteRelativeTo(config.jniDir, "jni-headers/"));
args.add("-I" + convertToAbsoluteRelativeTo(config.jniDir, "jni-headers/" + target.os.getJniPlatform()));
args.add("-I" + convertToAbsoluteRelativeTo(config.jniDir, "."));
for (String headerDir : target.headerDirs) {
args.add("-I" + convertPathToAbsolute(headerDir).getAbsolutePath());
args.add("-I" + convertToAbsoluteRelativeTo(config.projectDir, headerDir).getAbsolutePath());
}

ArrayList<String> perFileArgs = new ArrayList<String>();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,12 @@
import com.badlogic.gdx.jnigen.build.ToolFinder;
import com.badlogic.gdx.jnigen.build.ToolchainExecutor;
import com.badlogic.gdx.utils.Architecture;
import com.badlogic.gdx.utils.Os;
import com.badlogic.gdx.utils.TargetType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
Expand Down Expand Up @@ -85,15 +83,15 @@ private void compileC () {

args.addAll(stringFlagsToArgs(target.cFlags));


args.add("-Ijni-headers");
args.add("-Ijni-headers/" + target.os.getJniPlatform());
args.add("-I.");
args.add("-g");
args.add("-I" + convertToAbsoluteRelativeTo(config.jniDir, "jni-headers"));
args.add("-I" + convertToAbsoluteRelativeTo(config.jniDir, "jni-headers/" + target.os.getJniPlatform()));
args.add("-I" + convertToAbsoluteRelativeTo(config.jniDir, "."));
for (String headerDir : target.headerDirs) {
args.add("-I" + convertPathToAbsolute(headerDir).getAbsolutePath());
args.add("-I" + convertToAbsoluteRelativeTo(config.projectDir, headerDir).getAbsolutePath());
}

args.add("-g");

ArrayList<String> perFileArgs = new ArrayList<String>();
perFileArgs.addAll(args);

Expand Down Expand Up @@ -134,14 +132,15 @@ private void compileCPP () {
args.addAll(stringFlagsToArgs(target.cppFlags));


args.add("-Ijni-headers");
args.add("-Ijni-headers/" + target.os.getJniPlatform());
args.add("-I.");
args.add("-g");
args.add("-I" + convertToAbsoluteRelativeTo(config.jniDir, "jni-headers"));
args.add("-I" + convertToAbsoluteRelativeTo(config.jniDir, "jni-headers/" + target.os.getJniPlatform()));
args.add("-I" + convertToAbsoluteRelativeTo(config.jniDir, "."));
for (String headerDir : target.headerDirs) {
args.add("-I" + convertPathToAbsolute(headerDir).getAbsolutePath());
args.add("-I" + convertToAbsoluteRelativeTo(config.projectDir, headerDir).getAbsolutePath());
}

args.add("-g");

ArrayList<String> perFileArgs = new ArrayList<String>();
perFileArgs.addAll(args);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@

import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
Expand Down Expand Up @@ -204,11 +203,11 @@ private void compileC () {
for (String msvcIncludeDirectory : msvcIncludeDirectories) {
args.add("/I" + msvcIncludeDirectory);
}
args.add("/Ijni-headers");
args.add("/Ijni-headers/" + target.os.getJniPlatform());
args.add("/I.");
args.add("/I" + convertToAbsoluteRelativeTo(config.jniDir, "jni-headers"));
args.add("/I" + convertToAbsoluteRelativeTo(config.jniDir, "jni-headers/" + target.os.getJniPlatform()));
args.add("/I" + convertToAbsoluteRelativeTo(config.jniDir, "."));
for (String headerDir : target.headerDirs) {
args.add("/I" + convertPathToAbsolute(headerDir).getAbsolutePath());
args.add("/I" + convertToAbsoluteRelativeTo(config.projectDir, headerDir).getAbsolutePath());
}

ArrayList<String> perFileArgs = new ArrayList<String>();
Expand Down Expand Up @@ -239,11 +238,11 @@ private void compileCPP () {
for (String msvcIncludeDirectory : msvcIncludeDirectories) {
args.add("/I" + msvcIncludeDirectory);
}
args.add("/Ijni-headers");
args.add("/Ijni-headers/" + target.os.getJniPlatform());
args.add("/I.");
args.add("/I" + convertToAbsoluteRelativeTo(config.jniDir, "jni-headers"));
args.add("/I" + convertToAbsoluteRelativeTo(config.jniDir, "jni-headers/" + target.os.getJniPlatform()));
args.add("/I" + convertToAbsoluteRelativeTo(config.jniDir, "."));
for (String headerDir : target.headerDirs) {
args.add("/I" + convertPathToAbsolute(headerDir).getAbsolutePath());
args.add("/I" + convertToAbsoluteRelativeTo(config.projectDir, headerDir).getAbsolutePath());
}

ArrayList<String> perFileArgs = new ArrayList<String>();
Expand Down

0 comments on commit 5775351

Please sign in to comment.