pub fn compile_cdylib(
        &self,
        python_interpreter: Option<&PythonInterpreter>,
        module_name: Option<&str>,
    ) -> Result<PathBuf> {
        let artifacts = compile(&self, python_interpreter, &self.bridge)
            .context("Failed to build a native library through cargo")?;

        let artifact = artifacts.get("cdylib").cloned().ok_or_else(|| {
            anyhow!(
                "Cargo didn't build a cdylib. Did you miss crate-type = [\"cdylib\"] \
                 in the lib section of your Cargo.toml?",
            )
        })?;
        #[cfg(feature = "auditwheel")]
        if !self.skip_auditwheel {
            let target = python_interpreter
                .map(|x| &x.target)
                .unwrap_or(&self.target);

            auditwheel_rs(&artifact, target, &self.manylinux)
                .context(format!("Failed to ensure {} compliance", self.manylinux))?;
        }

        if let Some(module_name) = module_name {
            warn_missing_py_init(&artifact, module_name)
                .context("Failed to parse the native library")?;
        }

        Ok(artifact)
    }
/// Runs cargo build, extracts the cdylib from the output, runs auditwheel and returns the
/// artifact
///
/// The module name is used to warn about missing a `PyInit_<module name>` function for
/// bindings modules.
Runs cargo build, extracts the cdylib from the output, runs auditwheel and returns the
artifact

The module name is used to warn about missing a `PyInit_` function for
bindings modules.
Runs cargo build extracts the cdylib from the output runs auditwheel and returns the artifact The module name is used to warn about missing a ` PyInit_ ` function for bindings modules .
pub fn compile_cdylib(
        &self,
        python_interpreter: Option<&PythonInterpreter>,
        module_name: Option<&str>,
    ) -> Result<PathBuf> {
        let artifacts = compile(&self, python_interpreter, &self.bridge)
            .context("Failed to build a native library through cargo")?;
        let artifact = artifacts.get("cdylib").cloned().ok_or_else(|| {
            anyhow!(
                "Cargo didn't build a cdylib. Did you miss crate-type = [\"cdylib\"] \
                 in the lib section of your Cargo.toml?",
            )
        })?;
        #[cfg(feature = "auditwheel")]
        if !self.skip_auditwheel {
            let target = python_interpreter
                .map(|x| &x.target)
                .unwrap_or(&self.target);
            auditwheel_rs(&artifact, target, &self.manylinux)
                .context(format!("Failed to ensure {} compliance", self.manylinux))?;
        }
        if let Some(module_name) = module_name {
            warn_missing_py_init(&artifact, module_name)
                .context("Failed to parse the native library")?;
        }
        Ok(artifact)
    }
pub fn compile_cdylib ( & self , python_interpreter : Option < & PythonInterpreter > , module_name : Option < & str > , ) -> Result < PathBuf > { let artifacts = compile ( & self , python_interpreter , & self . bridge ) . context ( " " ) ? ; let artifact = artifacts . get ( " " ) . cloned ( ) . ok_or_else ( | | { anyhow ! ( " \" \" \
 " ) } ) ? ; # [ cfg ( feature " " ) ] if ! self . skip_auditwheel { let target = python_interpreter . map ( | x | & x . target ) . unwrap_or ( & self . target ) ; auditwheel_rs ( & artifact , target , & self . manylinux ) . context ( format ! ( " " self manylinux ) ) ? ; } if let Some ( module_name ) = module_name { warn_missing_py_init ( & artifact , module_name ) . context ( " " ) ? ; } Ok ( artifact ) }
Runs cargo build, extracts the cdylib from the output, runs auditwheel and returns the
artifact
Runs cargo build extracts the cdylib from the output runs auditwheel and returns the artifact
&self
python_interpreter
Option<&PythonInterpreter>
module_name
Option<&str>
&self
python_interpreter
Option<&PythonInterpreter>
module_name
Option<&str>