]>
Commit | Line | Data |
---|---|---|
bcf524c1 | 1 | use 5.014000; |
bcf524c1 MG |
2 | use ExtUtils::MakeMaker; |
3 | ||
bcf524c1 MG |
4 | WriteMakefile( |
5 | NAME => 'Linux::Seccomp', | |
6 | VERSION_FROM => 'lib/Linux/Seccomp.pm', | |
7 | ABSTRACT_FROM => 'lib/Linux/Seccomp.pm', | |
8 | AUTHOR => 'Marius Gavrilescu <marius@ieval.ro>', | |
9 | MIN_PERL_VERSION => '5.14.0', | |
10 | LICENSE => 'perl', | |
11 | SIGN => 1, | |
bcf524c1 | 12 | PREREQ_PM => {}, |
0f2e0967 | 13 | INC => '-Ilibseccomp/include', |
f88f5efa MG |
14 | MYEXTLIB => 'libseccomp/src/.libs/libseccomp$(LIB_EXT)', |
15 | clean => { FILES => 'libseccomp/src/.libs/libseccomp$(LIB_EXT)' }, | |
bcf524c1 MG |
16 | META_ADD => { |
17 | dynamic_config => 1, | |
18 | resources => { | |
19 | repository => 'https://git.ieval.ro/?p=linux-seccomp.git', | |
20 | }, | |
21 | } | |
22 | ); | |
23 | ||
f88f5efa MG |
24 | sub MY::postamble { |
25 | ' | |
26 | $(MYEXTLIB): libseccomp/configure | |
27 | cd libseccomp && ./configure && `which gmake || echo $(MAKE)` all | |
28 | ' | |
29 | } | |
30 | ||
bcf524c1 MG |
31 | if (eval {require ExtUtils::Constant; 1}) { |
32 | # If you edit these definitions to change the constants used by this module, | |
33 | # you will need to use the generated const-c.inc and const-xs.inc | |
34 | # files to replace their "fallback" counterparts before distributing your | |
35 | # changes. | |
36 | my @names = (qw(AUDIT_ARCH_AARCH64 AUDIT_ARCH_MIPS AUDIT_ARCH_MIPS64 | |
37 | AUDIT_ARCH_MIPS64N32 AUDIT_ARCH_MIPSEL64N32 AUDIT_ARCH_PPC64LE | |
38 | EM_AARCH64 EM_MIPS SCMP_ACT_ALLOW SCMP_ACT_KILL SCMP_ACT_TRAP | |
39 | SCMP_ARCH_AARCH64 SCMP_ARCH_ARM SCMP_ARCH_MIPS | |
40 | SCMP_ARCH_MIPS64 SCMP_ARCH_MIPS64N32 SCMP_ARCH_MIPSEL | |
41 | SCMP_ARCH_MIPSEL64 SCMP_ARCH_MIPSEL64N32 SCMP_ARCH_NATIVE | |
42 | SCMP_ARCH_PPC SCMP_ARCH_PPC64 SCMP_ARCH_PPC64LE SCMP_ARCH_S390 | |
43 | SCMP_ARCH_S390X SCMP_ARCH_X32 SCMP_ARCH_X86 SCMP_ARCH_X86_64 | |
44 | SCMP_VER_MAJOR SCMP_VER_MICRO SCMP_VER_MINOR | |
45 | __AUDIT_ARCH_CONVENTION_MIPS64_N32 __NR_SCMP_ERROR | |
46 | __NR_SCMP_UNDEF __NR__llseek __NR__newselect __NR__sysctl | |
47 | __NR_accept __NR_accept4 __NR_access __NR_afs_syscall | |
48 | __NR_alarm __NR_arch_prctl __NR_arm_fadvise64_64 | |
49 | __NR_arm_sync_file_range __NR_bdflush __NR_bind __NR_break | |
50 | __NR_breakpoint __NR_cachectl __NR_cacheflush __NR_chmod | |
51 | __NR_chown __NR_chown32 __NR_connect __NR_creat | |
52 | __NR_create_module __NR_dup2 __NR_epoll_create | |
53 | __NR_epoll_ctl_old __NR_epoll_wait __NR_epoll_wait_old | |
54 | __NR_eventfd __NR_fadvise64 __NR_fadvise64_64 __NR_fchown32 | |
55 | __NR_fcntl64 __NR_fork __NR_fstat64 __NR_fstatat64 | |
56 | __NR_fstatfs64 __NR_ftime __NR_ftruncate64 __NR_futimesat | |
57 | __NR_get_kernel_syms __NR_get_mempolicy __NR_get_thread_area | |
58 | __NR_getdents __NR_getegid32 __NR_geteuid32 __NR_getgid32 | |
59 | __NR_getgroups32 __NR_getpeername __NR_getpgrp __NR_getpmsg | |
60 | __NR_getrandom __NR_getresgid32 __NR_getresuid32 | |
61 | __NR_getrlimit __NR_getsockname __NR_getsockopt __NR_getuid32 | |
62 | __NR_gtty __NR_idle __NR_inotify_init __NR_ioperm __NR_iopl | |
63 | __NR_ipc __NR_kexec_file_load __NR_lchown __NR_lchown32 | |
64 | __NR_link __NR_listen __NR_lock __NR_lstat __NR_lstat64 | |
65 | __NR_mbind __NR_membarrier __NR_memfd_create | |
66 | __NR_migrate_pages __NR_mkdir __NR_mknod __NR_mmap __NR_mmap2 | |
67 | __NR_modify_ldt __NR_move_pages __NR_mpx __NR_msgctl | |
68 | __NR_msgget __NR_msgrcv __NR_msgsnd __NR_multiplexer | |
69 | __NR_newfstatat __NR_nfsservctl __NR_nice __NR_oldfstat | |
70 | __NR_oldlstat __NR_oldolduname __NR_oldstat __NR_olduname | |
71 | __NR_oldwait4 __NR_open __NR_pause __NR_pciconfig_iobase | |
72 | __NR_pciconfig_read __NR_pciconfig_write __NR_pipe __NR_poll | |
73 | __NR_prof __NR_profil __NR_putpmsg __NR_query_module | |
74 | __NR_readdir __NR_readlink __NR_recv __NR_recvfrom | |
75 | __NR_recvmmsg __NR_recvmsg __NR_rename __NR_rmdir __NR_rtas | |
76 | __NR_s390_pci_mmio_read __NR_s390_pci_mmio_write | |
77 | __NR_s390_runtime_instr __NR_security __NR_select __NR_semctl | |
78 | __NR_semget __NR_semop __NR_semtimedop __NR_send | |
79 | __NR_sendfile64 __NR_sendmmsg __NR_sendmsg __NR_sendto | |
80 | __NR_set_mempolicy __NR_set_thread_area __NR_set_tls | |
81 | __NR_setfsgid32 __NR_setfsuid32 __NR_setgid32 __NR_setgroups32 | |
82 | __NR_setregid32 __NR_setresgid32 __NR_setresuid32 | |
83 | __NR_setreuid32 __NR_setsockopt __NR_setuid32 __NR_sgetmask | |
84 | __NR_shmat __NR_shmctl __NR_shmdt __NR_shmget __NR_shutdown | |
85 | __NR_sigaction __NR_signal __NR_signalfd __NR_sigpending | |
86 | __NR_sigprocmask __NR_sigreturn __NR_sigsuspend __NR_socket | |
87 | __NR_socketcall __NR_socketpair __NR_spu_create __NR_spu_run | |
88 | __NR_ssetmask __NR_stat __NR_stat64 __NR_statfs64 __NR_stime | |
89 | __NR_stty __NR_subpage_prot __NR_swapcontext | |
90 | __NR_switch_endian __NR_symlink __NR_sync_file_range | |
91 | __NR_sync_file_range2 __NR_sys_debug_setcontext __NR_syscall | |
92 | __NR_sysfs __NR_sysmips __NR_time __NR_timerfd __NR_truncate64 | |
93 | __NR_tuxcall __NR_ugetrlimit __NR_ulimit __NR_umount | |
94 | __NR_unlink __NR_uselib __NR_userfaultfd __NR_usr26 __NR_usr32 | |
95 | __NR_ustat __NR_utime __NR_utimes __NR_vfork __NR_vm86 | |
96 | __NR_vm86old __NR_vserver __NR_waitpid __PNR__llseek | |
97 | __PNR__newselect __PNR__sysctl __PNR_accept __PNR_accept4 | |
98 | __PNR_access __PNR_afs_syscall __PNR_alarm __PNR_arch_prctl | |
99 | __PNR_arm_fadvise64_64 __PNR_arm_sync_file_range __PNR_bdflush | |
100 | __PNR_bind __PNR_break __PNR_breakpoint __PNR_cachectl | |
101 | __PNR_cacheflush __PNR_chmod __PNR_chown __PNR_chown32 | |
102 | __PNR_connect __PNR_creat __PNR_create_module __PNR_dup2 | |
103 | __PNR_epoll_create __PNR_epoll_ctl_old __PNR_epoll_wait | |
104 | __PNR_epoll_wait_old __PNR_eventfd __PNR_fadvise64 | |
105 | __PNR_fadvise64_64 __PNR_fchown32 __PNR_fcntl64 __PNR_fork | |
106 | __PNR_fstat64 __PNR_fstatat64 __PNR_fstatfs64 __PNR_ftime | |
107 | __PNR_ftruncate64 __PNR_futimesat __PNR_get_kernel_syms | |
108 | __PNR_get_mempolicy __PNR_get_thread_area __PNR_getdents | |
109 | __PNR_getegid32 __PNR_geteuid32 __PNR_getgid32 | |
110 | __PNR_getgroups32 __PNR_getpeername __PNR_getpgrp | |
111 | __PNR_getpmsg __PNR_getrandom __PNR_getresgid32 | |
112 | __PNR_getresuid32 __PNR_getrlimit __PNR_getsockname | |
113 | __PNR_getsockopt __PNR_getuid32 __PNR_gtty __PNR_idle | |
114 | __PNR_inotify_init __PNR_ioperm __PNR_iopl __PNR_ipc | |
115 | __PNR_kexec_file_load __PNR_lchown __PNR_lchown32 __PNR_link | |
116 | __PNR_listen __PNR_lock __PNR_lstat __PNR_lstat64 __PNR_mbind | |
117 | __PNR_membarrier __PNR_memfd_create __PNR_migrate_pages | |
118 | __PNR_mkdir __PNR_mknod __PNR_mmap __PNR_mmap2 | |
119 | __PNR_modify_ldt __PNR_move_pages __PNR_mpx __PNR_msgctl | |
120 | __PNR_msgget __PNR_msgrcv __PNR_msgsnd __PNR_multiplexer | |
121 | __PNR_newfstatat __PNR_nfsservctl __PNR_nice __PNR_oldfstat | |
122 | __PNR_oldlstat __PNR_oldolduname __PNR_oldstat __PNR_olduname | |
123 | __PNR_oldwait4 __PNR_open __PNR_pause __PNR_pciconfig_iobase | |
124 | __PNR_pciconfig_read __PNR_pciconfig_write __PNR_pipe | |
125 | __PNR_poll __PNR_prof __PNR_profil __PNR_putpmsg | |
126 | __PNR_query_module __PNR_readdir __PNR_readlink __PNR_recv | |
127 | __PNR_recvfrom __PNR_recvmmsg __PNR_recvmsg __PNR_rename | |
128 | __PNR_rmdir __PNR_rtas __PNR_s390_pci_mmio_read | |
129 | __PNR_s390_pci_mmio_write __PNR_s390_runtime_instr | |
130 | __PNR_security __PNR_select __PNR_semctl __PNR_semget | |
131 | __PNR_semop __PNR_semtimedop __PNR_send __PNR_sendfile64 | |
132 | __PNR_sendmmsg __PNR_sendmsg __PNR_sendto __PNR_set_mempolicy | |
133 | __PNR_set_thread_area __PNR_set_tls __PNR_setfsgid32 | |
134 | __PNR_setfsuid32 __PNR_setgid32 __PNR_setgroups32 | |
135 | __PNR_setregid32 __PNR_setresgid32 __PNR_setresuid32 | |
136 | __PNR_setreuid32 __PNR_setsockopt __PNR_setuid32 | |
137 | __PNR_sgetmask __PNR_shmat __PNR_shmctl __PNR_shmdt | |
138 | __PNR_shmget __PNR_shutdown __PNR_sigaction __PNR_signal | |
139 | __PNR_signalfd __PNR_sigpending __PNR_sigprocmask | |
140 | __PNR_sigreturn __PNR_sigsuspend __PNR_socket __PNR_socketcall | |
141 | __PNR_socketpair __PNR_spu_create __PNR_spu_run __PNR_ssetmask | |
142 | __PNR_stat __PNR_stat64 __PNR_statfs64 __PNR_stime __PNR_stty | |
143 | __PNR_subpage_prot __PNR_swapcontext __PNR_switch_endian | |
144 | __PNR_symlink __PNR_sync_file_range __PNR_sync_file_range2 | |
145 | __PNR_sys_debug_setcontext __PNR_syscall __PNR_sysfs | |
146 | __PNR_sysmips __PNR_time __PNR_timerfd __PNR_truncate64 | |
147 | __PNR_tuxcall __PNR_ugetrlimit __PNR_ulimit __PNR_umount | |
148 | __PNR_unlink __PNR_uselib __PNR_userfaultfd __PNR_usr26 | |
149 | __PNR_usr32 __PNR_ustat __PNR_utime __PNR_utimes __PNR_vfork | |
150 | __PNR_vm86 __PNR_vm86old __PNR_vserver __PNR_waitpid), | |
151 | {name=>"SCMP_CMP_EQ", macro=>"1"}, | |
152 | {name=>"SCMP_CMP_GE", macro=>"1"}, | |
153 | {name=>"SCMP_CMP_GT", macro=>"1"}, | |
154 | {name=>"SCMP_CMP_LE", macro=>"1"}, | |
155 | {name=>"SCMP_CMP_LT", macro=>"1"}, | |
156 | {name=>"SCMP_CMP_MASKED_EQ", macro=>"1"}, | |
157 | {name=>"SCMP_CMP_NE", macro=>"1"}, | |
158 | {name=>"SCMP_FLTATR_ACT_BADARCH", macro=>"1"}, | |
159 | {name=>"SCMP_FLTATR_ACT_DEFAULT", macro=>"1"}, | |
160 | {name=>"SCMP_FLTATR_CTL_NNP", macro=>"1"}, | |
161 | {name=>"SCMP_FLTATR_CTL_TSYNC", macro=>"1"}, | |
162 | {name=>"_SCMP_CMP_MAX", macro=>"1"}, | |
163 | {name=>"_SCMP_CMP_MIN", macro=>"1"}, | |
164 | {name=>"_SCMP_FLTATR_MAX", macro=>"1"}, | |
165 | {name=>"_SCMP_FLTATR_MIN", macro=>"1"}); | |
166 | ExtUtils::Constant::WriteConstants( | |
167 | NAME => 'Linux::Seccomp', | |
168 | NAMES => \@names, | |
169 | DEFAULT_TYPE => 'IV', | |
170 | C_FILE => 'const-c.inc', | |
171 | XS_FILE => 'const-xs.inc', | |
172 | ); | |
173 | ||
174 | } | |
175 | else { | |
176 | use File::Copy; | |
177 | use File::Spec; | |
178 | foreach my $file ('const-c.inc', 'const-xs.inc') { | |
179 | my $fallback = File::Spec->catfile('fallback', $file); | |
180 | copy ($fallback, $file) or die "Can't copy $fallback to $file: $!"; | |
181 | } | |
182 | } |