.TH "alpm-architecture" 7 .SH "NAME" .PP architecture \- architecture definition for ALPM based packages\. .SH "DESCRIPTION" .PP The \fBarchitecture\fP format is a custom string format that contains \fBCPU instruction set architectures\fP[1] and further identifiers and is used for representing the architecture of ALPM based packages\. This format is used in build scripts or file formats for package metadata (e\.g\. in \fBPKGBUILD\fP, \fBBUILDINFO\fP, \fBPKGINFO\fP) to describe the architecture of a package, or the architecture of dependency packages\. .PP The \fBarchitecture\fP format comprises values defined by convention\. The values are custom keywords, most of which are derived directly from \fBCPU instruction set architectures\fP[1] or specific microarchitectures\. .PP The \fBarchitecture\fP value must be covered by the set of alphanumeric characters and '_'\. .SH "EXAMPLES" .PP The below \fBarchitecture\fP values all relate to specific \fBCPU instruction set architectures\fP[1] or microarchitectures and can be used to specify a package architecture\. This usually means that packages of a specific \fBarchitecture\fP can only be used in a particular context\. .RS .PP .nf "any" .fi .RE .PP A package can be used on any hardware as its contents are not specific to any architecture\. .RS .PP .nf "x86_64" .fi .RE .PP A package can only be used on hardware compatible with the \fBx86\-64\fP[2] instruction set version 1 and above (see \fBx86\-64 microarchitecture levels\fP[3])\. .RS .PP .nf "x86_64_v2" .fi .RE .PP A package can only be used on hardware compatible with the \fBx86\-64\fP[2] instruction set version 2 and above (see \fBx86\-64 microarchitecture levels\fP[3])\. .RS .PP .nf "x86_64_v3" .fi .RE .PP A package can only be used on hardware compatible with the \fBx86\-64\fP[2] instruction set version 3 and above (see \fBx86\-64 microarchitecture levels\fP[3])\. .RS .PP .nf "x86_64_v4" .fi .RE .PP A package can only be used on hardware compatible with the \fBx86\-64\fP[2] instruction set version 4 and above (see \fBx86\-64 microarchitecture levels\fP[3])\. .RS .PP .nf "i686" .fi .RE .PP A package can only be used on hardware compatible with the \fBIA\-32\fP[4] instruction set version 6 (aka\. \fBP6\fP[5], or 'i686')\. This architecture is considered legacy\. .RS .PP .nf "i486" .fi .RE .PP A package can only be used on hardware compatible with the \fBIA\-32\fP[4] instruction set version 4 (aka\. \fBi486\fP[6])\. This architecture is considered legacy\. .RS .PP .nf "pentium4" .fi .RE .PP A package can only be used on hardware compatible with the \fBPentium 4\fP[7] microarchitecture\. This architecture is considered legacy\. .RS .PP .nf "armv7" .fi .RE .PP A package can only be used on hardware compatible with the \fBARMv7 architecture family\fP[8]\. This architecture is considered legacy\. .RS .PP .nf "armv8" .fi .RE .PP A package can only be used on hardware compatible with the \fBARMv8 architecture family\fP[9]\. .RS .PP .nf "aarch64" .fi .RE .PP A package can only be used on hardware compatible with the \fBAArch64\fP[10] (64\-bit execution state of the \fBARM architecture family\fP[11])\. .RS .PP .nf "riscv64" .fi .RE .PP A package can only be used on hardware compatible with the 64\-bit variant of the \fBRISC\-V\fP[12] instruction set architecture (\fBISA\fP[13])\. .RS .PP .nf "loong64" .fi .RE .PP A package can only be used on hardware compatible with the 64\-bit variant of the \fBLoongArch\fP[14] instruction set architecture (\fBISA\fP[13])\. .SH "SEE ALSO" .PP \fBBUILDINFO\fP(5), \fBPKGBUILD\fP(5), \fBPKGINFO\fP(5), \fBalpm\-epoch\fP(7), \fBalpm\-pkgrel\fP(7), \fBalpm\-pkgver\fP(7), \fBvercmp\fP(8) .SH "NOTES" .RS .Bl .IP 1. 4 \fBCPU instruction set architectures\fP .sp https://en\.wikipedia\.org/wiki/Comparison_of_instruction_set_architectures#Instruction_sets .El .Bl .IP 2. 4 \fBx86\-64\fP .sp https://en\.wikipedia\.org/wiki/X86\-64 .El .Bl .IP 3. 4 \fBx86\-64 microarchitecture levels\fP .sp https://en\.wikipedia\.org/wiki/X86\-64#Microarchitecture_levels .El .Bl .IP 4. 4 \fBIA\-32\fP .sp https://en\.wikipedia\.org/wiki/IA\-32 .El .Bl .IP 5. 4 \fBP6\fP .sp https://en\.wikipedia\.org/wiki/P6_(microarchitecture) .El .Bl .IP 6. 4 \fBi486\fP .sp https://en\.wikipedia\.org/wiki/I486 .El .Bl .IP 7. 4 \fBpentium4\fP .sp https://en\.wikipedia\.org/wiki/Pentium_4 .El .Bl .IP 8. 4 \fBARMv7 architecture family\fP .sp https://en\.wikipedia\.org/wiki/ARM_architecture_family#32\-bit_architecture .El .Bl .IP 9. 4 \fBARMv8 architecture family\fP .sp https://en\.wikipedia\.org/wiki/ARM_architecture_family#Armv8 .El .Bl .IP 10. 4 \fBAArch64\fP .sp https://en\.wikipedia\.org/wiki/AArch64 .El .Bl .IP 11. 4 \fBARM architecture family\fP .sp https://en\.wikipedia\.org/wiki/ARM_architecture_family .El .Bl .IP 12. 4 \fBRISC\-V\fP .sp https://en\.wikipedia\.org/wiki/RISC\-V .El .Bl .IP 13. 4 \fBISA\fP .sp https://en\.wikipedia\.org/wiki/Instruction_set_architecture .El .Bl .IP 14. 4 \fBLoongArch\fP .sp https://en\.wikipedia\.org/wiki/Loongson#LoongArch .El .RE