firasuke / cross / slibtool

Forked from cross/slibtool a month ago
Clone

Blame src/internal/slibtool_linkcmd_impl.h

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,
c4b07e
	const char *			relfilename);
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