|
|
b08054 |
#ifndef SLIBTOOL_LINKCMD_IMPL_H
|
|
|
b08054 |
#define SLIBTOOL_LINKCMD_IMPL_H
|
|
|
b08054 |
|
|
|
b08054 |
struct slbt_deps_meta {
|
|
|
b08054 |
char ** altv;
|
|
|
b08054 |
char * args;
|
|
|
b08054 |
int depscnt;
|
|
|
b08054 |
int infolen;
|
|
|
b08054 |
};
|
|
|
b08054 |
|
|
|
b08054 |
int slbt_get_deps_meta(
|
|
|
b08054 |
const struct slbt_driver_ctx * dctx,
|
|
|
b08054 |
char * libfilename,
|
|
|
b08054 |
int fexternal,
|
|
|
b08054 |
struct slbt_deps_meta * depsmeta);
|
|
|
b08054 |
|
|
|
b08054 |
int slbt_exec_link_create_dep_file(
|
|
|
b08054 |
const struct slbt_driver_ctx * dctx,
|
|
|
b08054 |
struct slbt_exec_ctx * ectx,
|
|
|
b08054 |
char ** altv,
|
|
|
b08054 |
const char * libfilename,
|
|
|
b08054 |
bool farchive);
|
|
|
b08054 |
|
|
|
3d5567 |
bool slbt_adjust_object_argument(
|
|
|
3d5567 |
char * arg,
|
|
|
3d5567 |
bool fpic,
|
|
|
3d5567 |
bool fany,
|
|
|
3d5567 |
int fdcwd);
|
|
|
3d5567 |
|
|
|
3d5567 |
bool slbt_adjust_wrapper_argument(
|
|
|
3d5567 |
char * arg,
|
|
|
3d5567 |
bool fpic);
|
|
|
3d5567 |
|
|
|
3d5567 |
int slbt_adjust_linker_argument(
|
|
|
3d5567 |
const struct slbt_driver_ctx * dctx,
|
|
|
3d5567 |
char * arg,
|
|
|
3d5567 |
char ** xarg,
|
|
|
3d5567 |
bool fpic,
|
|
|
3d5567 |
const char * dsosuffix,
|
|
|
3d5567 |
const char * arsuffix,
|
|
|
3d5567 |
struct slbt_deps_meta * depsmeta);
|
|
|
3d5567 |
|
|
|
3d5567 |
int slbt_exec_link_adjust_argument_vector(
|
|
|
3d5567 |
const struct slbt_driver_ctx * dctx,
|
|
|
3d5567 |
struct slbt_exec_ctx * ectx,
|
|
|
3d5567 |
struct slbt_deps_meta * depsmeta,
|
|
|
3d5567 |
const char * cwd,
|
|
|
3d5567 |
bool flibrary);
|
|
|
3d5567 |
|
|
|
3d5567 |
int slbt_exec_link_finalize_argument_vector(
|
|
|
3d5567 |
const struct slbt_driver_ctx * dctx,
|
|
|
3d5567 |
struct slbt_exec_ctx * ectx);
|
|
|
3d5567 |
|
|
|
c486f2 |
int slbt_exec_link_create_host_tag(
|
|
|
c486f2 |
const struct slbt_driver_ctx * dctx,
|
|
|
c486f2 |
struct slbt_exec_ctx * ectx,
|
|
|
c486f2 |
char * deffilename);
|
|
|
c486f2 |
|
|
|
5db3db |
int slbt_exec_link_create_import_library(
|
|
|
5db3db |
const struct slbt_driver_ctx * dctx,
|
|
|
5db3db |
struct slbt_exec_ctx * ectx,
|
|
|
5db3db |
char * impfilename,
|
|
|
5db3db |
char * deffilename,
|
|
|
5db3db |
char * soname);
|
|
|
5db3db |
|
|
|
3bfc81 |
int slbt_exec_link_create_archive(
|
|
|
3bfc81 |
const struct slbt_driver_ctx * dctx,
|
|
|
3bfc81 |
struct slbt_exec_ctx * ectx,
|
|
|
3bfc81 |
const char * arfilename,
|
|
|
3bfc81 |
bool fpic);
|
|
|
3bfc81 |
|
|
|
c4b07e |
int slbt_exec_link_create_library(
|
|
|
c4b07e |
const struct slbt_driver_ctx * dctx,
|
|
|
c4b07e |
struct slbt_exec_ctx * ectx,
|
|
|
c4b07e |
const char * dsobasename,
|
|
|
c4b07e |
const char * dsofilename,
|
|
|
4af256 |
const char * relfilename,
|
|
|
4af256 |
bool fardlopen);
|
|
|
4af256 |
|
|
|
c4b07e |
|
|
|
11c887 |
int slbt_exec_link_create_executable(
|
|
|
11c887 |
const struct slbt_driver_ctx * dctx,
|
|
|
11c887 |
struct slbt_exec_ctx * ectx,
|
|
|
11c887 |
const char * exefilename);
|
|
|
11c887 |
|
|
|
b08054 |
#endif
|