code: def build_arch(self, arch):
          
          env = self.get_recipe_env(arch, with_flags_in_cc=False)
          for path in (
                  self.get_build_dir(arch.arch),
                  join(self.ctx.python_recipe.get_build_dir(arch.arch), 'Lib'),
                  join(self.ctx.python_recipe.get_build_dir(arch.arch), 'Include')):
              if not exists(path):
                  info("creating {}".format(path))
                  shprint(sh.mkdir, '-p', path)
          cli = env['CC'].split()[0]
          # makes sure first CC command is the compiler rather than ccache, refs:
          # https://github.com/kivy/python-for-android/issues/1398
          if 'ccache' in cli:
              cli = env['CC'].split()[1]
          cc = sh.Command(cli)
  
          with current_directory(self.get_build_dir(arch.arch)):
              cflags = env['CFLAGS'].split()
              cflags.extend(['-I.', '-c', '-l.', 'ifaddrs.c', '-I.'])
              shprint(cc, *cflags, _env=env)
              cflags = env['CFLAGS'].split()
              cflags.extend(['-shared', '-I.', 'ifaddrs.o', '-o', 'libifaddrs.so'])
              cflags.extend(env['LDFLAGS'].split())
              shprint(cc, *cflags, _env=env)
              shprint(sh.cp, 'libifaddrs.so', self.ctx.get_libs_dir(arch.arch))
docs: simple shared compile