#include <syslog.h>
#include <unistd.h>
+#include <pakfire/arch.h>
#include <pakfire/pakfire.h>
#include <pakfire/string.h>
switch (key) {
case OPT_ARCH:
- // XXX Check if the architecture is supported
+ // Check if the architecture is supported
+ if (!pakfire_arch_is_supported_by_host(arg))
+ argp_failure(state, EXIT_FAILURE, 0, "Unsupported architecture: %s", arg);
+
config->arch = arg;
break;
return NULL;
}
-const char* pakfire_arch_is_supported_by_host(const char* name) {
+PAKFIRE_EXPORT const char* pakfire_arch_is_supported_by_host(const char* name) {
const char* arch = NULL;
// Check if we natively support this architecture
const char** pakfire_supported_arches(void);
const char* pakfire_arch_native(void);
+const char* pakfire_arch_is_supported_by_host(const char* name);
+
#ifdef PAKFIRE_PRIVATE
unsigned long pakfire_arch_personality(const char* name);
const char* pakfire_arch_platform(const char* name);
int pakfire_arch_is_compatible(const char* name, const char* compatible_arch);
-const char* pakfire_arch_is_supported_by_host(const char* name);
char* pakfire_arch_find_interpreter(const char* name);
#endif
pakfire_arch_native;
pakfire_arch_supported;
pakfire_supported_arches;
+ pakfire_arch_is_supported_by_host;
# archive
pakfire_archive_extract;